Add DropList feature returnToOriginOnReplacement
Allows DropListvalueObjects which have this setting to be replaced in lists which only allow onlyOneItem. When this switch is set, the class sets the other 2 internal values (originListID?: string; originListIndex) itself. Those can not be seen nor changed from outside. Also refactoring in lots of places around droplists. Better names, cleaner structure, comments. #305