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
Favor immutability. ?