Fix `current_page?` when the URL contains escaped characters

In some cases webservers like nginx send the escaped characters
lowercased to the Rails application. The current_page? helper was
comparing the escaped strings that are different since Ruby escapes the
URL using uppercased characters.
separate some mutations from reflection construction
extract more mutations to the caller
remove dependency on @model when defining callbacks
push more mutations out of the builder

`configure_dependency` actually defined callbacks, so rename the method
and move it to the appropriate method.
pushing out more callback definitions
remove dead code
assert that constants have been set rather than the names
defning extensions happens once, no need to cache
Allow jruby on travis allowing failures
this code is dead, removing
no need to define the constant twice
users should be warned if clobbering constants
push module building to the constructor
push more mutations outside the factory method
make mutation method apis more consistent
remove more mutations from the `build` method
association builder classes no longer need the model

decouple the builder classes from the model.  Builder objects should be
easier to reuse now.
Enable rubinius on travis too
remove `valid_options` class method