test for accessing request method.
jellyfish: raise TypeError if passing route doesn't respond to :match
in favour of GetValue
remove debug code
require 'uri' and use null file instead of stringio
remove debug footprint and add a newline
introduce controller_include and change controller definition, see:

so we change the `controller` definition to get a list of
`controller_include`, and create a new class which is a subclass
of `Jellyfish::Controller` and include all modules there.

then we can have this short hand `controller_include` which
remembers what modules we want to include to the automatically
generated controller class.

this greatly reduces client code if we're not doing something
special. (i.e. no helper methods needed)
and we define DSL#controller= which makes you easier to redefine ctrl
hail, no one really likes self.something = something
a space
keep the same ordering
cleanup with controller_inject
tests for controller_include for custom controller
bump version and gemspec, so many changes, update CHANGES
add a bunch more tests