New FEC framework, with unit tests.

For review. This works, but it's not to be merged just yet because nothing uses it yet. The new post-db4o client layer will use it heavily.
The next stage ... we limit how many FEC decode/encode's we can do by memory (as well as CPU cores, but memory is often more relevant). I will post a pull request related to this shortly.