Fix composer.json autoloader spec
Remove .idea and add .gitignore
Move Client default values out of arg default value list

Allows constructor args to be skipped with null
Extract Cache to an interface