CLOUDSTACK-5986: Make dnsmasq handle dnsmasq.leases when dhcp_release is available

The original issue has been exposed due to CloudStack VR would modify the
dnsmasq.leases, thus make it unsync with dnsmasq's memory lease.

Make the modification to let dnsmasq handle the lease file if dhcp_release is
available.
CLOUDSTACK-5900: Failed to delete template/ISO that failed to download.
CLOUDSTACK-5660: Migrate vm live migration succeeds but throws error as ""Failed to migrate the system vm"".
CLOUDSTACK-5916: associateIpAddress leaves an IP in allocating state
CLOUDSTACK-5496 : Account included in ActionEvents is Project Account ID

When Action Events are generated and placed on the Event Bus, an
"account" parameter is included with the event. When these events are
generated for resources within projects, this "account" parameter is not
useful as it's the UUID of the project account, instead of the project.

To solve this, I updated ActionEventsUtil class to include a "project"
parameter in the generated events when the resource is being
changed/add/deleted in a project.
Fix mock socket client/server test.

Normally a server will bind to 0.0.0.0, which is not an
address that a client can specify to connect to.
127.0.0.1 or ::1 will do.
Some rework stratosphere ssp plugin

* add missing command entry in commands.properties
* migrate httpclient 3.x to 4.x
* fix the broken SspClient
* add webapp session checking in mock ssp server
CLOUDSTACK-5994. Hitting IndexOutOfBoundsException in GetVmStatsCommand after upgrade.
To obtain network read/write statistics, multiply sample duration with the
average of the particular performance metric obtained over the sample period.
Fixed API doc that got broken by adding new commands for stratosphere ssp plugin

Conflicts:
	tools/apidoc/gen_toc.py
listAutoscaleVmProfiles: added zoneId to the list of optional api parameters
Resource metadata support for autoscale vm group object
findbugs equals on same type of objects
findbugs bitwise or guaranteed positively bitfields
CLOUDSTACK-5996: UI - In project view, the first listRotuers API(without projectid=-1) will return the same objects as the second listRouters API(with projectid=-1), because in project view, all API calls are appended with projectid=[projectID]. Therefore, we only call the second listRouters API(with projectid=-1) in non-project view.
CLOUDSTACK-5997:
Template state changes side affects
VPC Support for contrail networking

Signed-off-by: Sheng Yang <sheng.yang@citrix.com>
add charset arg to InputStreamReader constructor

thanks to findbugs.
CLOUDSTACK-5993: Cloud agent fails to start on 32-bit system vms (cpvm and ssvm) created with 4GB RAM offering
Capped the max heap size of the JVM at 2600M for 32-bit system VMs. For 64-bit, existing logic works fine.
CLOUDSTACK-5989: Trying to start a vm while 'vm snapshot' is in progress results in inconsistency
The fix is to fail the start operation if a vm snapshot is in progress
CLOUDSTACK-5998. [AWSAPI] describe addresses call returns a fault with "domain cannot be null!!".