Add namespace support, composer and packagist support, custom exceptions...

.... See issues #19 and #26 for more.