Adds namespaces.

Changes PEAR-style underscore code to actual namespaces.

Important changes:
1. `Hamcrest\Array` is now `Hamcrest\Arrays` because `array` is a reserved word in PHP.
2. `Hamcrest\Core\IsSet.php` is now `Hamcrest\Core\Set.php` because `isset` is a reserved word in PHP.
3. Changed generator to use namespace.