loading schema in sequence

individual services schemas should be loaded before the edge-gateway
services schema
marking nat_service as optional field in schema

nat_service is not a mandatory field, hence marking it as optional
 marking fire_wall service as optional in schema
 added nat_service to schema
 implemented nat_service configuration generator.
now edgeGateway#update updates nat service
 removed code to auto-load edge-gatway schema files
removed magic numbers. created constants
handling different scenarios in Natting

- accepting network_id from user instead of network_name. IDs are uniq,
  network_names can cause conflicts.
- loading gateway_interface which can be uplinked provider network or
  inetrnal orgVdcNetwork by querying edge-gateway.
- handling hair-pin nattingi(where an external IP address provided by a
  NAT is requested by a node that lives behind the NAT, resulting in packets
  which come from inside the VDC, reach the NAT, and are directed back
  into the VDC)
update should error if network in nat_rule is missing
schema should validate network_id

schema should validate network_id and not network name
fixing nat_service spec
renaming tests to have better titles
Merge pull request #129 from alphagov/nat_service_post

[#64582784] configure edge_gateway nat service