Namespaced crypt package #2

This PR adds namespaces to all the Crypt\* classes and implements PSR-4 autoloading.

Squashed version.