Refactor namespace/:key option handling

Make push/pop namespace create a new namespaces array instead of
mutating the namespaces array.

When creating Inputs, instead of manually setting :name, :value,
and :id options based on :key, just copy reference to the form's
current namespace.

Have the formatter look at the :key option and set the appropriate
attributes if they are not already set.  This is more similar to
how other attributes are set.
Remove get_wrappers method from Sequel plugin, no longer used
Remove Form#use_serializer and Serializer module

These were originally needed by the Sequel module when forme_input
could return an array.  However, that is no longer allowed,
forme_input must now always return an Input or Tag.
Fix coverage testing to it includes all lib files
Add Form.with_opts method to override opts for the given block

This takes quite a bit of refactoring because in the default case
(without templates), formatting is not done at the time of
Input creation.  So Inputs need to copy a reference to the Form
opts when they are created, and use that later when formatting.

Since the transformers for a form are no longer static, don't
set instance variables for them, just look them up in the opts.
The accessor methods for the transformers can go away as well.
The one exception is the serializer, which needs to remain
static.

Additionally, the Form#format and #serialize methods can be
removed as well, since nothing internally calls them, all
access goes through the transformer.