Don't allow mixed types for args, use short array

Add docblocks and type hints
Add travis config
Update gitignore
Bump PHP version to 5.4 for short array syntax