Migrate gem to engine

* Migrate to engine
* Rewrite tests to work with engine
* Rewrite generators to new files path inside app folder
Indent `when` as deep as `case`.