New pluggable architecture for the test application

The app now has a simple extensible architecture. Not everything works smooth yet:
* LZ4 doesn't seem to be decoding
* BWT on BWT fails to decode with a strange error in vec.rs: ``` task '<main>' failed at 'assertion failed: self.len() >= len_src', /mnt/code/other/rust/src/libstd/vec.rs:2348```
* Ari is inaccessible since it needs to know the output size at this point.

Yet the trivial stuff works fine now, like a simple bwt encoding/decoding on text.
And yes, you were right, we need a Makefile :)