Add drv and nif backends for HyperLevelDB
Refresh edocs
Correct db type definitions
Add read_options and write_options support for LET's operations

Caller can tailor the read_options and write_options for LET's
operations by managing multiple table identifiers.  The function tid/2
returns a copy of a table's identifier with given LevelDB read and
write options.  If options are not undefined, the given read and write
options are used when the returned copy is passed as the first
argument to table operations.  Otherwise, the original read and write
options given at the time of calling new/2 are used.
Minor refactoring of the gen_ets_ns behaviour
Implement gen_ets_ns behaviour notify/4

The notify/4 when_destroyed feature is used by the drv database
implementation to ensure the leveldb handle is destroyed before
returning to a destroy/1 caller.  This is necessary to prevent a race
condition with an attempt to re-open the same database (before cleanup
has finished).

This feature would be useful for the nif database implementation as
well.  Unfortunately, the nif implementation relies on reference
counting and this doesn't allow lets to easily to take advantage of
this new feature.  This feature when made available in the lets API
would allow a calling application to use this feature.
Refresh edocs