Initial source commit

Added some basic class files, updated .gitignore

Files are just one possible framework, data structures need additional
discussion