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