Flex POSTing of Timespans

Flex POSTing of 'Timespan's by allowing field omittance. Omitted fields
are left untouched when POSTing an update to a 'Timespan'.

Make 'beginMin' an optional parametre when updating a 'Timespan'.

Implement 'MaybeWrapper' that permits wrapping 'Maybe's around
'Parsable' instances. Use this to handle the difference between removing
a 'Timespan' parent, and merely omitting it from the POST.

Update API.txt to clarify omittance and the difference between inserting
& updating a 'Timespan'.

Slightly wibble tests to accommodate the New And Improved™ 'Timespan'
modification.

Signed-off-by: Alexander Berntsen <alexander@plaimi.net>
Signed-off-by: Stian Ellingsen <stian@plaimi.net>
Reviewed-by: Stian Ellingsen <stian@plaimi.net>