Add listener to set selectability of arbitrary dates

Fixes #32.

Some issues:
- `setOnDateConfiguredListener` must be called before `init`.
- The error message doesn't make sense, and shouldn't be hardcoded anyway. I suggest adding an `onInvalidDateSelected` method to `OnDateSelectedListener`, and getting rid of the Toast.

Some possible improvements: 
- Combine the various selectability tests done in three different places into one method.
- Allow selection by client code, but disallow user selection.
- Add `init` variations to take an `OnDateConfiguredListener`.