chg: try to separate BFT functionality

This should make for a better code-base, as bft (similar to the
secret-sharing lib) should be component standing on it's own --
with it's own test cases etc.

This might make things a bit rough -- this change shows problems
with the designed architecture rather quickly.
chg: move abstract BFT into a library of it's own

This should help making the code base better understandable. The BFT
codebase itself has around 1k LOC (without the whole HTTP bindings,
etc.).

Archistar-core can now focus upon integrating the different other
archistar libraries. This should make this project a better playing
ground for new ideas and algorithms.
rename packages to make hierarchy clearer

now that BFT was moved into an package of its own we can rename
the existing classes to make the whole hierarchy easier to comprehend.
Well, we can at least start.

Now we have three large software packages:

* engine -- this server accepts client requests, performs all the crypto
            and transmits data to the backend storage servers

* backendserver -- active storage backend server, accepts data fragments
                   from engines and stores then on some backend storage
                   system

The engine communicates with the backend server through the BFT network.

I'm currently thinking about moving the backendserver into an own
package. For the simple "everything is included in one program"
test-case archistar-core would depend upon the storage server package.
In addition this would allow users to just run the archistar-backend
server on the backend servers.