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.
these kind of look like they should be separate providers. What is the different between control and router in this context?