Initial checkin for VPC feature:

1) Added API frameworks for the feature. New commands:
* CreateVPCCmd
* ListVPCsCmd
* DeleteVPCCmd
* UpdateVPCCmd
* CreateVPCOfferingCmd
* UpdateVPCOfferingCmd
* DeleteVPCOfferingCmd
* ListVPCOfferingsCmd

2) New db tables:

* `cloud`.`vpc`
* `cloud`.`vpc_offerings`
* `cloud`.`vpc_offering_service_map`

and corresponding VO/Dao objects.

Added vpc_id field to `cloud.`networks` table - not null when network belongs to VPC

3) New Manager and Service interfaces- VpcManager/VpcService

4) Automatically create new VpcOffering (if doesn't exist) on system start

5) New Action events:

* VPC.CREATE
* VPC.UPDATE
* VPC.DELETE

* VPC.OFFERING.CREATE
* VPC.OFFERING.UPDATE
* VPC.OFFERING.DELETE
Removed network_id reference from domain_router table as now VirtualRouter can be associated with multiple networks (VPC case). Code modifications were done accordingly to the places where this field was used.
Router->Networks (one to many) are held in router_network_ref table now
Set networkId as a join parameter in DomainRouterDaoImpl as networkId was moved to the helper table
CS-14929: Exception while creating a port forwarding rule on an acquired ip
CS-14943: Unable to deploy VM due to Unable to identify the provider by name CiscoNexus1000vVSM

Description:

	Ignore the CiscoNexus1000vVSM provider when checking for
	providers when applying port forwarding rules.
Merge branch 'vpc-3.0.x' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into vpc-3.0.x
1) Added start logic to the VPC
2) VirtualRouterManagerImpl - refactored deployVirtualRouter method
3) Added vpcId to domain_router/user_ip_address tables and corresponding vo objects
Start Virtual Router as a part of VPC start
Deploy VR as a part of VPC: set elementId to the VR element id of the first physical network in the zone by now. TODO - add logic for handling the case when VR has 1 to many element ids relationship
Add type and rpcfilter to the virtual router bootload arguments even when there is no guest network is being configured.
1) Added new element - VpcVirtualRouterElement. Extends VirtualRouter + has plug/unplug nics support
2) Added services api support for plugging/unplugging the nics to VpcElement
Plug nic support
Added support for network shutdown in VPC guest networks
Support for delete VPC
1) Added search by vpcId to listRouters/listNetworks Apis
2) Don't allow to add new networks/implement existing ones for VPC in Disabled state. Disabled state indicates that there was unsuccessful attempt to remove the VPC, and the further cleanup will be taken care of by cleanup thread.
1) Added VPC restart support  - new api command RestartVPC. The purpose of the call is to shutdown and start VPC including VPCVirtualRouter restart, rules re-implement, etc
2) Only networks created from offerings with conserveMode=false, can participate in VPC
Destroy VPC if it fails to start during the deployment
Support for IPAssoc inside VPC
AssociateIpAddress to VPC - the ip gets associated to the network only when the first rule for the ip gets created.
When the last rule is removed for vpc ip, networkId is set to null
1.  move control network to eth0 on domr
2. if it is basic mode, use guest NIC as Control NIC
add guestnw.sh
add acl.sh
merge setup_dhcpsvr and setup_route