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.
That would make sense, so eventually we can deprecate the `#using` method altogether.

This is a clever and simple way of keeping backwards comp. BTW.