Move Magpie::Constants to Sub::Exporter

Magpie::Constants was DIYing an Exporter unneccessarily. This fixes it
to use Sub::Exporter which is already brought in by Moose. This should
close bug #1 reported by tobyink.

Additionally we use some of the more advanced Sub::Exporter features to
allow adding custom HTTP methods beyond the core set defined by the
W3C/IETF.

    use Magpie::Constants extra_http_methods => [qw(FOO BAR BAZ)] };

or

    use Magpie::Constants  HTTP_METHODS => {
                                extra_http_methods => [qw(FOO BAR BAZ)]
                            };

Should both now work. This closes bug #4 reported by tobyink.

Tests are left as a lemma for the reader (currently).