Issue #3: Choose best available time for creating new events #1

- Find available time slots using bucket method
- Overlap start/end times