Reorganization of API and implementations to prepare for RSA

I have detected a layer between API and impl which consist of the APIs of some implemented algorithms. For example: ECC and RSA have specific domain classes which can be considered as part of their API, but I don't want to include them in cipher's API. Same goes for ufixnum library inside cipher implementing Uint8, Uint16, etc. Thus, I have reorganized some libraries. Hopefully this will make things more maintainable when cipher arrives at 1.0.