Rearrange source tree

Having all the source in the root was getting a bit unwieldy!