Make LevelDOWN an optional dependency

Consider this a discussion pull request.

We now have a `'db'` option on init that can swap out LevelDOWN with a suitable replacement (e.g. [MemDOWN](https://github.com/rvagg/node-memdown) or other via [Abstract LevelDOWN](https://github.com/rvagg/node-abstract-leveldown)). We'll hopefully one day have pure JS implementation(s) of LevelDB available to swap in.

So, it would be nice to not have to pull in a compiled dependency if you weren't going to need it.

This PR makes it an optional dependency but pins the version with a `'peerDependency'`. It would just add complication to install instructions because we'd have to instruct people to `npm install levelup leveldown` but hopefully the thrown `Error` would help with that.

Thoughts?