basestring replaced with six.string_types

That's needed to move further in py3 compatibility.

Partially-Implements: blueprint ceilometer-py33-support
Change-Id: I5796de3b3f359c95ddc059374e19f7e7154e45c6
Set python hash seed to 0 in tox.ini

New tox (>=1.7.0) sets a random python hash seed by default. This is
generally good for testing because it will help keep projects working
regardless of the hash seed, but ceilometer unittests don't currently
pass with a random hash seed so set it to the python default seed.

This change will allow us to use new tox again and remove the
restriction on tox<=1.6.1 to run unittests.

Redundant setenvs for specific test envs are removed to prevent them
from overriding the PYTHONHASHSEED value.

Note this change will need to be backported to the stable branches to
keep unittests there working with new tox as well.

Change-Id: Ibc613d77ad52d5f7d8d613f3dd66ffba4117ff72
Fix aggregator flush method

When no samples have been handled by the aggregator but flush method is
called, an empty array must be returned because 'initial_timestamp' have
not been set yet.

Also, the pipeline always catchs exception from transformer and when an
error occurs into a transformer the unit can not catch them.
The patch also reraises any transformer exceptions.

Closes-bug: #1325507
Co-Authored-By: Ala Rezmerita <ala.rezmerita@cloudwatt.com>

Change-Id: Ib3183dfa3ee37ba586eb03a73f5de4641dd98514
Replace iterator.next() with next(iterator)

Python 3 introduced a next() function to replace the next()
method on iterator objects. Rather than calling the method on the
iterator, the next() function is called with the iterable object
as it's sole parameter, which calls the underlying __next__() method.

As the next() function was backported to Python 2.6, we can
use it either in the 2.x or 3.x simultaneously - that's why
six.next() usage was also removed from the source code.

Partially-Implements: blueprint ceilometer-py33-support
Change-Id: I47ad69b0e5dc0840f733230d485bb1443cff8e5b
Merge "basestring replaced with six.string_types"
Replace dict.iteritems() with six.iteritems(dict)

This change is needed to make Ceilometer code both Python 2.x and
3.x compatible in some future. Oslo modules are left without
changes in this change, that will be done directly in the
oslo-incubator code.

Partially-Implements: blueprint ceilometer-py33-support
Change-Id: Ic7fe5819f85524bb36f04dec6cad10d4cf2b935d
Merge "Replace iterator.next() with next(iterator)"
Merge "Replace dict.iteritems() with six.iteritems(dict)"
Merge "Fix aggregator flush method"