Revert "Flatten source layout"

This reverts commit 956c6112288e7660372fe4e007f1ac466969464a. SBT
requires source files to be either in the root or in src/main/scala.
Fix source layout

This uses a more usable layout while working for both Eclipse and SBT.