Decompose Fenom and Provider functionality

Я разделил функциональность Шаблонизатора и Провайдера. Не очень изящно получилось, но тем не менее, теперь можно делать то, что я описывал в https://github.com/bzick/fenom/issues/49

Поправил юнит тесты. Скорость их проведения не упала. Да и бэнчмарк из ветки master не подкачал

Текущий Develop

   fenom: !compiled and !loaded      0.3664 sec,        8.2 MiB
   fenom:  compiled and !loaded      0.0151 sec,        5.9 MiB
   fenom:  compiled and  loaded      0.0012 sec,        5.9 MiB


Testing 'foreach' of big array...
   fenom: !compiled and !loaded      0.0087 sec,        3.0 MiB
   fenom:  compiled and !loaded      0.0025 sec,        2.4 MiB
   fenom:  compiled and  loaded      0.0018 sec,        2.4 MiB


Testing deep 'inheritance'...
   fenom: !compiled and !loaded      0.0607 sec,        3.4 MiB
   fenom:  compiled and !loaded      0.0005 sec,        2.4 MiB
   fenom:  compiled and  loaded      0.0000 sec,        2.4 MiB

Новый Develop

   fenom: !compiled and !loaded      0.3776 sec,        8.2 MiB
   fenom:  compiled and !loaded      0.0148 sec,        5.9 MiB
   fenom:  compiled and  loaded      0.0012 sec,        5.9 MiB


Testing 'foreach' of big array...
   fenom: !compiled and !loaded      0.0111 sec,        3.0 MiB
   fenom:  compiled and !loaded      0.0025 sec,        2.4 MiB
   fenom:  compiled and  loaded      0.0018 sec,        2.4 MiB


Testing deep 'inheritance'...
   fenom: !compiled and !loaded      0.0649 sec,        3.4 MiB
   fenom:  compiled and !loaded      0.0005 sec,        2.4 MiB
   fenom:  compiled and  loaded      0.0000 sec,        2.4 MiB