* add a Lease model to associate a lock_code to a booking,
* add a new command "clean_leases" run by cron every 5 minutes to clean
expired leases,
* add new parameter lock_code to get_all_slots() and exclude conflicting
booking linked to this lock_code if provided,
* accept new lock_code query string parameter in the datetimes endpoints
(to see available slot minus the locked ones, if the user want to
change the chosen slot)
* add new parameters lock_code and confirm_after_lock to the fillslot
endpoint:
- when lock_code is used without confirm_after_lock:
1. look for available slots excluding events/booking pairs associated with the given lock_code, by passing lock_code to get_all_slots
2. before creating the new event/booking pair, clean existing pairs
associated to the lock code,
3. after creating the new pair, create a new Lease object with the
lock code
- when lock_code is used with confirm_after_lock do all previous steps
but 3., making a normal meeting booking.
* add tests with lock_code on meeting's datetimes and fillslot use,
checking exclusion by resources or user_id works with lock_code