Big refactoring. Use of Namespaces and codestyles. PSR-0, PSR-1, PSR-2.