Initial commit to add l7 loadbalancing features and tests

Check out https://developers.google.com/compute/docs/load-balancing/http/ for an overview of what this is.
I believe the handcrafted serialization was because Gson will serialize an empty ImmutableSet to an array of 4 nulls. This is input the GCE servers are unable to handle if I remember correctly. This also follows the structure of the Firewall / FirewallRule code that is currently in the repo.