Implemented Rudimentary shift functionality

This implementation is sort of a hack it can shift in a scenario where
all elements are shiftable(no rigids). And all elements are within the
same
timerange. This is the first implementation with some recursion.

***Bugs***
-It does not work with rigid inserted
-With this recursion, the write to XML file is broken because of the
current writes only append and they dont over write the xml file with
updated timelines(Disabled WriteToOutlook).
-major UI bugs exist(cant remember but they are countless)