Namespaced crypt package #2

This PR adds namespaces to all the Crypt\* classes and implements PSR-4 autoloading.

Squashed version.
Assignment in condition... I was trying to cleanup some of those as I came across them.