Fix abstract fields not showing up in the book

* Also, show and hide them according to the settings
Fix event arrival dates when start_time > end_time
Timetable arrows shifted when less than 20 mins
Code simplification and visual improvements
Wording - 'Edition' -> 'Edit'
Nicer HTML color -> RGB conversion function

Properly handles 3-digit hex codes too.
PEP8/style fixes
Fix mixing unicode/utf8 in re.sub
Preserve booked_for if cloning own booking
Allow searching by room's 'official' name

Otherwise only the 'friendly name' would be queried in case there was one
Fix invalid function call
Fix past month to 30 days exactly
Cleans up the code and enforces PEP 8
Cleans up the js code to make it more readable.
Gets rid of location/room when unticking inherit

 - When unticking inherits from parent, removes the location/room values and saves the contribution without a place.
 - When changing the location, remvoes the room associated to it as well.
 - When changing the location, updates the room drop-down list accordingly (or disables it)
 - Fixes #1577