Base pipeline components

* Create base Interfaces for Pipeline
* Add first base implementations for Pipeline
* Add specs for core functionality
* Make sure to Git ignore .env file