Made listing availability field change with bookings

* When listing is booked or unbooked for a date range, availability field changes
  accordingly
* When listing is booked for a date range that bisects its range of
  availability, availability field breaks into two lines
* Added public methods in Listing and Booking models to fix bug where booking
  the first day of listing availability results in an availability date range
  comprised of the same date
* Added '?' to the private custom validation method names in the Booking model,
  to reflect their nature as predicate methods

* Additionally, reformatted how available dates are displayed, to make them
  more readable
Pulled custom validators from Booking to BookingValidator class
Restructured how listing_id and user_id are added to booking_params
Added /public/system/listings to .gitignore file
Merge pull request #12 from CranAppleJuice/JB-AD-make-listing-availability-dynamic

Jb ad make listing availability dynamic