Merge pull request #3 from clue/psr4

Use PSR-4 layout for src/
Remove test for passing invalid parameters
Use linear search for error constants.
HHVM does not support categorizing defined constants
Add HHVM to travis test matrix
Merge pull request #5 from clue/hhvm

Support HHVM
Update coverage path to new PSR4-4 layout
More SOLID design due to dedicated Exception
Errors while select()ing are now reported correctly
Improve coverage for Factory