Main features are:
1. Availability support can be enabled for certain content types.
2. A flat javascript calendar is populated onto the node edit form to pick up dates.
3. A list of available/busy dates is populated either on a node view page or on the special node page.
4. A user can book/reserve the node when it is available.
Fixed the required validation issue, empty checkboxes cause the FAPI to think there are terms provided.
Refactored the form rendering for future changes.