Added #options and a remove option to #write

`#options()` takes an object which it passes into an internal object,
`_opts`. With an options method, we're able to pass in settings to
methods/etc.

First up on the option list is a `_opts.remove` option that defaults to
`true`, and will cause `#write()` not to remove the destination
directory before writing.

Tests are included.