Granular deployment (basic version)

Support new way to deploy tasks. Instead of direct
puppet run using one big universal manifests use
group of tasks with pre and post checks.

Support old deployment process for backward
compatibility.

New feature:
- add tasks processing;
- add tests.

Refactoring:
* move pre deployment actions to separate class;
* tests refactoring;
* unify tasks and puppet methods.

Related to blueprint granular-deployment-based-on-tasks

Change-Id: I1db257875c164ada60600bf976cb828a41585248