Default values

Implementation for #10

How?
-------

`map()` now accepts an options hash as it's last parameter. To keep backwards compatibility, `using()` returns an options hash. Instead of ignoring a value if it's not in the input, `map()` uses a default value if one is specified.
Done. I've not updated the tests, because I wanted to make sure it was backwards compatible...