Fix note encryption for archived notes

Major refactors:
* Store the user's MasterKey within the ServiceBase so we can access it everywhere
* Refactor Service hierachy
* Add extension method for note decryption