Add Reservation to Rentr

* Users can create reservation dates
* Users can not create invalid reservation date ranges
* Users can view their reservations for a particular listing
* Users can view all of their reservations
* Users can view all their reservations for a listing if any exist
* Guests can still use app
Wait, why? You could parse out `Date` objects in the controller, then pass them into the `DateRange`. You could do whatever you wanted with the `Date` objects if they weren't valid.