Fix a display issue in readme.md
Add the entry point script and autoload file.
Add abstract classes

Add abstract classes. Primarily these describe the interfaces, but there
are also some  basic implementations where appropriate.
Fix readme

Another tweak to readme. Also a typo in AbstractController.
Add program entry point

Add the main script class.