Some refactorings and cleanup, namely:
- Moved all relevant null checks into Resource
- Made create firewall use FirewallOptions instead of a Firewall obj
- Made InstanceTemplate.NetworkInterface use more common names such as public/private IP
- Consolidated a lot of the HttpRequests in the expect tests to allow for reuse (in compute)