jclouds domain classes

This needs to be reviewed and edited.

Bio: Zack Shoylev is a committer on the Apache jclouds project and a Software Developer for Rackspace. He is currently working on open source cloud SDK development. Zack’s technical interests focus on open source development, cloud computing, and big data processing with Java.

@zackshoylev
freenode: zacksh
Do you need to explain "DRY"?  Or is that common knowledge?