Support for selecting date ranges

Range selection mimics Hipmunk. Also streamlines button creation.