Replaced pimple with custom ServiceContainer

This PR breaks current extension compatibility but it's easy to fix it. 
I've created own ServiceContainer because there are few missing features in pimple and it seems that there is not third part ligthwate standalone service container anywhere. (maybe we can extract this one into separated repo?).
Why didn't I just extend pimple? It was much easier this way :P

TuTu ServiceContainer have following methods:

    public function hasParameter($id)
    public function setParameter($id, $value)
    public function getParameter($id)
    public function hasService($id)
    public function setDefinition($id, \Closure $definition, $tags = [])
    public function setStaticDefinition($id, \Closure $definition, $tags = [])
    public function getService($id)
    public function removeService($id)
    public function getServicesByTag($tag)

Did I miss something?