Improve Query prepare and add tests.

Change-Id: I2874b0cca2ad4cb5f89785572259113f548c1e8c
Auto-yield array(0) for emtpy traversables for %a placeholder.

Change-Id: I5c747618427d0350c89f231c7232b947ff3a0478
Refactor CLI.

* Add Parser handler.
* Add Session handler.

Change-Id: I921cf91900a37fcdf07ac0875f8dde9addd44b63
Refactor CLI components and add tests.

* Allow any number of arguments.
* Use fwrite to write messages and errors to stream
* Expand test suite.

Change-Id: I5572e987010f843880e7ea0ce6494e4a3e6bfdc3
Support newer version of FFMPEG with : instead of . for Stream enumeration.

Change-Id: I8bb6e0c5c98a29be1510ae6d9572e37d818d1a58
File class sendToClient improvement.

* Allow sending by proxy.
* Add tests.

Change-Id: Ic0418dd7f403dfea0a1ca1c1f622a507a31e39e1