Upgraded Cilex to use Pimple3

This PR is based off the work in https://github.com/Cilex/Cilex/pull/54
graciously provided by @henrikbjorn.

Unfortunately the aforementioned PR removed too much that is in use by
this project and I could not cherrypick the changes because they were not in
separate commits (like this change; I am doing that wrong .. ).

In this commit I have changed the code to become a little closer to Silex
and to implement Pimple 3. For people to upgrade only one thing changes:

All service providers are based off a different interface and have the register
method receives an object of type Pimple\Container instead of Cilex\Application
to make providers interchangeable with Silex.