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.
Not sure if we should use `Kernel.warn` to give a deprecation notice here?