Handle vgw provisioning persistant and fault tollerant

This patch will fix inconsistancies on vgw provisioning and to make this
persistent by adding interface configuration for vgw and using vrouter agent to
manage the route configuration.

1. provision-vgw-interface is sometimes leaves vgw interface unstable. Also this
is not persistant. So not using it, rather run individual commands from puppet,
make interface configuration persistant, use contrail vrouter agent to register
the route to contrail system.
2. Added puppet type to configure vrouter agent rather than using templates
3. Added a defined type to provision vgw.

Note: Spec tests are WIP (not pushed) - I faced an wierd error, need to refer to Dan.
Inconsistent indentation here.