Added a sync_t write operation
Completed the implementation of a sync term in the server.
Adds serialization of explain::task_t.

This means they now in theory can be sent over the network...
we just have to actually do so.
Added API docs and Python/JavaScript support for sync.
Added a simple polyglot test for sync
Small doc improvements.
Convert enums in protocol.hpp to enum classes.
First compiling version of an inline LBA structure in the meta block.
Threads explain through a number of layers.

They're now sent back in every read and write query if the results if
the explain global argument is set.
Merge branch 'daniel_throttling_fixes_only' into next
Increase metablock size to fit inline LBA. The i/o overhead for this change should be minimal.
Moved a constant into a different file.
Short-circuit LBA sync. (not 100% sure if this actually does anything yet)
Adapted unit test to new disk format. Also bumped the serializer format.
adding ipv6 support
fixing style in tgetstr call, removing cast
More work for moving tasks around.

This commit doesn't compile. The next step is to make it compile by
removing a lot of copying in the clustering layer.
We need a soft-durability sync for the application in the batch-splitting code.
Fail if sync() is applied behind a between. Added a couple of test cases.
Makes tasks copyable.

This is needed because we want to use them in query language responses
which we copy all over the place.