Fix json.decode failing when chairperson is empty
Check if event is a lecture

Lectures can have stuff in their timetables, left from a previous incarnation as a meeting.
Make surface_area an optional field
Reword book-prebook overlap warning message