save .range-start, .range-end selection for constrain callback

Do so in a closure for the constrain callback only to prevent namespace
pollution.
move up checking whether constrain dates is needed to .bind time

Handlers would not be needlessly triggered if not required.
parameterize constrain handlers to reduce branching
use constrainOtherPicker as a 'validator'