Rules and visitors for Load Balance Rules

Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
Extract general behavior to Router and Vpc delegates

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
Fix dependency problem. Extract and unify router deployment stuff

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
Adding Firewall Rules to comply with the Visitor pattern implementation; refactoring the applyRules so we can reuse it.

Conflicts:
	server/src/com/cloud/network/rules/LoadBalancingRules.java
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
	server/src/com/cloud/network/topology/NetworkTopology.java
changing accessor modifier in instance variables
fixing checkstyles

Conflicts:
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
finished firewall rules and load balancing rules; fixed all the injection problems; added VirtualMachineManager to the appliance factory to be injected.

Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/NEWVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
TODO
adding static nat rules. Deploying new VMs is not working due to the appliance refactory, will check the changes with Antonio tomorrow.

Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
we have to check if VPC is null bfore calling it. VPC is not used in gest networks, so deploying a new VM was broken.
adding apache license headers
adding Ip Association and VPN Rules

Conflicts:
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
	server/src/com/cloud/network/topology/NetworkTopologyVisitor.java
Fix offering setup
package rename

Conflicts:
	server/src/com/cloud/network/rules/DhcpEntryRules.java
	server/src/com/cloud/network/rules/DhcpSubNetRules.java
Temporary put state info in a state object
fixing the classes relationship; adding beans properly in the spring context; using the right basic/advance stuff; testing ip and port forwarding rules

Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
adding password to router rules; moving the advance code to the advance net topology.

Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
Unify and encapsulate deployment flow methods and params

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
adding userdata to router and ssh pub key to router rules.

Conflicts:
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
making instance variables compliant with ACS convention

Conflicts:
	server/src/com/cloud/network/rules/LoadBalancingRules.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java