Introduced Module and Stream domain objects (do not merge)

This PR contains two commits - the first is simply enforcing 1.6 compatibility. I would instead concentrate on 051b11a as it contains the new `xdzk.core` package. The next step is to modify `StreamListener` to use these objects. 

Notice that these objects have the bare basics (and the lack of JavaDoc) - so I request that this branch not be merged at this time as I may rebase or amend the last commit. I wanted to get this out there so you could take a quick look if you have time.