Moved fake shell to its own file so it will be included in the package compilation.
Implemented actual file system and shell abstractions.