Added booking model to Rentr

* Created has many relationships between Users and Listings through Bookings
* Added bookings to routes, nested under listings
* Bookings controller includes create and destroy actions
Changed listing has_one booker to has_many bookers
Added start_date and end_date columns to bookings table
Replaced methods with symbols in Listing and User has_many relationships
Added ability for a user to book a listing

* Added "Book now" button to listing showpage
* Current user only sees the button if they did not post the listing
* Added new, create and destroy methods to bookings controller
* Added "start_date" and "end_date" columns to bookings table
* New bookings page requires user to input start and end date for booking
* If the current user has booked the listing, they see an "Unbook" button
Added custom validations to Booking model

* Validates that booking is valid, falls within the listing's available
  dates, and does not overlap another booking
* Adds a custom error message in each validation method
* Booking form now displays error messages when validation fails
Aligned custom validation method parameters in Booking model
Broke out the conditionals in several Booking validators into private methods
Merge pull request #10 from CranAppleJuice/AD-JB-add-booking

AD JB: add booking