Add log output of "x-openstack-request-id" from nova

This patch enables ceilometer to output
'x-openstack-request-id'/'x-compute-request-id'
of nova's responses to the log.
And it also enables ceilometer to output
request headers, request parameters,
other response headers and a response body to
the log when ceilometer calls nova.

DocImpact: There is a new configuration option
'nova_http_log_debug' in ceilometer.nova_client

Change-Id: Ic7e5301e46ac45597721f4a9b41c38f8c4ff0d14
Closes-bug: #1332060
Fix aggregator _get_unique_key method

This patch fixes the error that occurs in aggregator when project_id and
user_id are missing from aggregated sample. This problem appears for
example when swift incoming/outgoing bytes samples are aggregated and
non-authenticated users access swift publicly readable containers.

Change-Id: I8af201b6cf29b0206b3ffd996990f629d927334e
Closes-bug: #1333230
Fixes aggregator transformer timestamp and user input handling

Sample timestamps should be parsed with parse_isotime(), not
parse_strtime().

User input should be validated and fail with ValueError if wrong.

Closes-bug: #1342664
Change-Id: Ied429053eecfa355c1e73caae705e5b187c8b3aa
Allow to have different DB for alarm and metering

This changes splits the internal DB API in two parts, alarm and metering.
It also adds a new configuration options to set a different database
for alarm than the 'metering' one.

Example:

 [database]
 connection = mongodb://localhost/ceilometer
 alarm_connection = mysql://localhost/ceilometer

This changes don't take care of the drivers storaged.
They will be splitted in later changes
The ceilometer.storage.ConnectionProxy object ensure that only alarm methods
are available when the namespace is the alarm one, same for the metering
namespace.

Partial implements blueprint dedicated-alarm-database

Change-Id: I1e118e4adc59ca5cd3781dbb18865818c3cc2300
Merge "Add log output of "x-openstack-request-id" from nova"
Merge "Fix aggregator _get_unique_key method"
Merge "Fixes aggregator transformer timestamp and user input handling"