TST: fix problem with generators in test_scale_facet_wrap
FIX: fix problem with generators on py3 in stat_function
PY3 compatibility

This is basically a "run the tests under py3 and py2 until the
testsuite pass on both plattforms.

* In some cases a list instead of a generator (from `map(...)`)
  was expected, so surround with `list(...)`
* Iterating a dict didn't result in the same order of keys,
  which resulted in problems with legends. Use explicit
  `orders(keys)`.
* Add "from future" imports to every file to make ggplot more
  consistent between both python versions (and fix the
  resulting breakage :-) -> next two lines).
* In some cases matplotlib didn't accept unicode in rcparams
* ggplot also had some problems -> use six.stringtypes to test
  for strings.
FIX: Apply axes changes to all axis

In case of faceting, changes to the axis (ticks, limits,...) were
only applied to the last axis and not all axis.

closes: yhat/ggplot#147
TST: make visual tests more robust

Up to now, when a test produced a matlotlib plot and did not
use the `@cleanup` decorator (`@image_comparison did it internaly)
the plot was available in the next test and could lead to
problems when that test used `@images_comparision`.

No assert that no old plots are available when the testcase is
setup/ before calling the real test function.

Also fix the breakup that made me look into this problem (randomly
failing test cases).

Also convert one testcase to the new `assert_same_ggplot` way
instead of the decorator.
Fix: guard against unicode markers (problem in matplotlib 1.3.1)

matplotlib 1.3.1 is not yet unicode ready and will not take
unicode markers. So add a `str(..)` to make the not unicode
under py2.
Fix: Let markers show up in Plots

There was a bug which made geom_point plot all points with the
default marker.

Also add unittests.
FIX: remove overplotting incertain faceting operations

In some faceting cases, after ploting the faceting plots, an additional
layer was plotted with the whole data, so the upper row of plots had
actually all points plotted.
FIX: deepcopy must be done first in radd

all operations on the ggplot object must be done on a copy otherwise
one can reuse the old ggplot object as it is altered.
FIX: faceting and axis ticks/limits

This makes all axis have the same limits (if thats what you want
-> see free_y and friends). Also compute tick labels based on the
real limits and not the old tick lables.

Currently the whole faceting breaks on descrete axis like the
ones from geom_bar :-( (see yhat/ggplot#196). Add a warning
about this and remove the failing (bogus!) unittest and
baseline image.

Add a new test which tests faceting in a more structured and
verifiable way.

Also update baseline images for the faceting plots.
TST: install brewer2mpl in travis
FIX: py3 compatibility in geom_rect
FIX: matplotlib 1.1.x compatibility

plt.hist2d is only avaialble in newer matplotlib versions, so:
* replace stat_bin2d with a dummy version on such systems, and
* only run the unittests if plt.hist2d is available.
Merge pull request #193 from JanSchulz/fix_unittests_py3

Fix unittests in python3.3 and python2.7