fix(config): Using local deepmerge temporarily

The NPM version is very out of date and there is a critical array merging bug that prevents warlock
from operating within normal parameters. See nrf110/deepmerge@12.
feat(flows): Added `raw` option to Flow::add

On occasion, a flow step cannot be as simple as a pipeable stream. The `raw` option to `Flow:add`
prevents the piping and instead passes the latest stream to the step's function, expecting the new
stream to be returned.
feat(flow): Flows are now updateable

Running `warlock.flow( 'flowname' )` multiple times will now update the flow. This allows
plugins/spells to be loaded in any order without worrying about dependencies. A flow that has no
options will not validate, and an appropriate error will be thrown.

An opportunity here is to find a way to guess at the intention of the user and throw an error during
validation if a flow shouldn't exist (e.g. if it has no options whatsoever).