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.
what does this do? I am not a big fan of dynamically modifying the LOAD_PATH if it can be avoided. If you have to do this (and I'm not convinced you do), there is a method in Ruby 1.9 called require_relative. Please try without this code, I'm pretty sure it will work.