add multiple new models for Cloudstack and fix 3015 (support project_id in key calls)

I've added the following models... firewall, egress_firewall, networks, port_forwarding, projects, public_ip_addresses.  Also, to fix 3015, I've added the ability to include a project_id when you create the connection.  This is stored as a instance variable.  Then any of the requests that supports including project_id will have this attribute added to the request.  This allows users who are limited to a single project to be able to make method calls without always passing in the project_id.  Also, there were methods (like get) that did not allow a project_id.