Refactored the configuration layer, and expose a 'configure' command

this requires bumping the deps to PHP 5.4. While it would be fine for me, the composer.json should contain the constraint