Attempt filling empty slot after a subscription is moved

This completes d463610, where moving a subscription between timeslots
was implemented but this was missed.

When a user moves a subscription between timeslots, a spot is open in
the source timeslot and we need to check if there are users in the
wait list.

The event subscription is just changed to IObjectMovedEvent, as
IObjectRemovedEvent is a subclass of it, but that also means care need
to be taken to not run the handler function on the other sibling
event, IObjectAddedEvent.

As the IObjectMovedEvent's are propagated to sublocations, the handler
function also needs to check if the originating object is the same as
the one being called for, since nothing needs to be done for those
cases.
It is an attribute, not a method
Use a method that will be present for non-PlonePAS members
Don't limit how many wait lists a user gets added to

This way users can be in multiple wait lists and will be automatically
added to the first one in a timeslot with an opening.

This won't be an issue as we already check that all restrictions are
obeyed when filling opened spots from wait lists.
Avoid trying to signup already signed up users

Though the current UI makes it hard to do this it is better not to
depend on this to ensure proper behaviour.
Document cases covered by dangling ELSE of complex IF
Be more uniform with language used
Use language-independent ID for days
Get toLocalizedTime from the Plone view