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.
By this reasoning it makes more sense to rename the old code to `OldFecCodec` or whatever *now* and mark it `@deprecated`. The it can be removed later on when someone sees fit without renaming again.