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, a default value is used if one is specified.