ReservationOccurrence bulk creation and cleanup
Post rebase fixes
Added overlapping helpers to datetime utils
Apply filter_by before joins

filter_by applies to the most recent table, which would be a joined one
Add models to indico_shell namespace
Add datetime.* to the shell context

It it probably the most commonly used stdlib module and having to import
it in the shell is a waste of time and keystrokes.
Show timezone-aware datetimes in the display tz
Fully migrate room blockings to the new database

Additional changes/fixes:
- db.logger property to access the db logger. useful during development
  so you can log things to the same logger as all the sql queries
- Avatar.getRooms
- url_for in all blocking-related code
- new _eager and _eager_all options to IndicoModel.find methods
- JSONField, FormDefaults objects for WTForms
- UTCDateTime needs default=now_utc, not datetime.utcnow
- Rejecting bookings/occurrences
- Some properties in models for Avatar retrieval
- Invalid list() usage in Reservation model
- Fixed Config.getInstance() calls (missing parens)
- Room.getRoomsOfUser: added only_active filter
- Convert True/False in url_for to 1/0
Add server_tz flag for datetime/time formatting

In roombooking we show booking related times in the server timezone, so
we need to convert utc to server timezone and not user timezone
Post-WIP fixes

- Remove Room.getRoomsOfUser - Room.find_all(..) is just as good
- Some indentation and i18n in blocking templates
- Add Reservation.details_url and use them in the rejection emails
- Renamed indico.modules.rb.notifications.blocking => .blockings
- Fix messed-up blocking form RH class name
- Migration: Cancel occurrences of cancelled/rejected reservations
Fix a somewhat cancerous function name
Make sure __repr__ returns plain ascii

This is done by decorating all __repr__ methods with @return_ascii and
returning an unicode string. That way creating the representation works
fine (the values are unicode after all!) and then the decorator converts
it to plain ascii. To get a nicer result: 'pip install translitcodec'
Much nicer enum handling using enum34
Add some evalex-related switches to indico_shell

- To globally enable evalx, use --enable-evalex. This gives you a python
  shell when a traceback is displayed and also enables a python shell
  via http://your.hostname/console
- If your webserver is not listening on localhost only, it is HIGHLY
  recommended to use --evalex-from to restrict access to trusted ips
  such as the one of your machine. Remember, anyone with access can
  executed arbitrary Python code on your machine which allows him to do
  anything the user running indico_shell can do!
Use TEXT field type for Blocking.reason
Allow more lightweight WP classes

Passing kwargs from the constructor to _getBody params
Fixed My rooms
Print SQL line code in log
Minor code formatting
ReservationOccurrence bulk creation and cleanup