next_available_reservation performance enhancements

* Fail immediately if user has no scheduling rules.
* Support :until parameter so it doesn’t go too far out
Merge pull request #76 from tablexi/next-available-stack

Fix for next_available_reservation stack overflow