first version of shell

code style error not checked
Revert "first version of shell"

This reverts commit a212a75b4c2da1a541a224d306cc16faa9529489.
Revert "Revert "first version of shell""

This reverts commit 17589294c65512a9402f0f24f29f455e8e676ef7.
Second commit...
Final version
final chekstyle
Merge pull request #152 from artembammer/master

Артем Грицай 397, Shell
ок