Contrail work

Contrail work.

Still working on below stuffs

1. Inline documentation
2. More complete spec tests
3. Pending vrouter part - this need working nova, so working on setting up nova. Vrouter code is already there so only some small changes would be required.
this code is not very readable. I'm not a big fan of side effects (in this case, the side effect of setting the instance variable from the getObject method). Why not just have get_object return the object (which is what it looks like it should do based on the name)?