Rl completion and version in makefile

Done, should be stable, needs some more user testing:

- Major new feature: context-sensitive ("comd" grammar) readline custom completion of built_ins, aliases, a number of predefined UNIX commands and some custom completion for some UNIX commands: git, apt-get, make, jsh, ...
- Makefile now automatically builds a version string, containing info of the machine + added a 'release' make target for making releases with a release version string
- I also partially started the source code re-organizing into cohesive modules, as discussed in issue #46