Pick up newly added named routes while running in the multi_route plugin, useful for development

If you are using a development environment reloader that picks
up new files and loads them into the current process, and you
added a file with a new named route, and you were using
multi_route to dispatch to your named routes, then the route
would not be picked up.  This clears the named route regexp
when a route is added, so a new one will be generated on the next
call to multi_route, allowing it to pick up the new route.
Have r.multi_route ignore non-String named routes

Previously, r.multi_route did not work if you had any non-String
routes, since it raised an error when building the regular
expression.  I think it's better to have r.multi_route ignore
non-String named routes.  The use case for this is when you have
some named routes you want to use with multi_route, but other
named routes that you want to use explicitly (such as when they
don't match the route prefix).
Support inheriting route block and adding middleware after route block

This makes subclassing Roda operate follow the principle of least
surprise.  Before, you couldn't subclass a Roda class with a route
and use it directly, as it wouldn't have a rack app build unless
you called the route method manually, and there was no way to
access the superclass route block, because it was only ever
stored in a local variable.

This stores the route block in a local variable, and moves most
of the Roda.route logic to a build_rack_app private method.
Roda.use can now just call the build_rack_app method to build
the app, which will not do anything if there is not a route block
yet.

This removes the @builder class instance variable.  This was used
back when use operated directly on @builder, but since use was
changed to just store middleware, this makes more sense as a local
variable in build_rack_app.
change name
Merge remote-tracking branch 'roda/master'

* roda/master:
  Support inheriting route block and adding middleware after route block
  Have r.multi_route ignore non-String named routes
  Pick up newly added named routes while running in the multi_route plugin, useful for development
updated version
fix
Merge branch 'assets-plugin'

* assets-plugin:
  fix
  tweak
updated version
cleanup