Initial commit with appropriate project structure

Passes checkstyle and has stubbed out tests that fail, for
practicing proper TDD

Change-Id: Id35cb6da60d7159897b2e7a7f8b53bdc8ba32237