Remove the old test code
Add a test submodule
Integrate the functional tests to Makefile
Update the code

Unfortunately, there are at least three independent changes:

* fix a bug with incorrect use of unread_bits8
* change wrong use of `%?`
* update to new Rust version