Adds backend for several array ops.

They are:
    - insert_at
    - splice_at
    - delete_at
    - change_at
Hooks up the new array operations.

All but delete_at seem to be working.
Fix a few bounds checking problems that had me confused.

I believe that all of the new array ops are now working.
Adds array ops to the python driver.
Adds support for new array ops in javascript.
Adds tests for new array operations.

Also fixes a bug in the python driver.
Makes array op tests pass.
Switches how modify works.
Canonicalize returns a size_t.
Change splice interface to not take a vector.
Make DELETE_AT have variadic type signature.
Adds arity tests and fixes some failing tests.
Adds array tests with variables.
Adds tests with bad type signatures.
changes error passing semantics
Adds docs for at ops.
deals with various noreply, callback, error combinations
Shortened some text lines in the extent manager.
Removed file_t::is_block_device.
Remove file_size and file_zone_size serializer dynamic config options.