Merge pull request #3 from Incubaid/fix-jenkins

CI: Move Jenkins script into job folder & run in LXC
Implement 'version' call
Bug: Fix `pyrakoon.tx` concurrent command handling

When new commands are issued to a `pyrakoon.tx.ArakoonProtocol`,
handlers are pushed on a `deque`. Previously, these were retrieved from
the wrong side of the queue, which in turn results in a command reply
being parsed by the handler of another (possibly different) command, which
is obviously troublesome.
Rework `pyrakoon.protocol.List.receive` according to expectations

Instead of receiving the list from the wire and yielding it as-is (i.e.
in reverse order, according to the Arakoon protocol), change things
around so the expected order is returned.

Note: this breaks code expecting the list to be reversed.
Add demo of concurrent actions using `pyrakoon.tx`
Implement `AssertExists` and `DeletePrefix` calls
Fixup `Version` docstring
Demo: Log assertion failure exception
Update error type definitions
Properly handle outstanding requests on disconnect
pyrakoon.tx: Rework & simplify

- No need for out-of-order socket writing: using `transport.write`
  in a `Protocol` is 'blocking' anyway
- Use `transport.writeSequence`
- Enhance cleanup of outstanding handlers
- Add state machine assertions
Jenkins: Install libsnappy1