Python 3 support

A modest step toward python 3 support in ROS.  Fixes all the problems detailed in the [wiki](http://wiki.ros.org/python_2_and_3_compatible_code) as well as the tf extension module.  Most are simply string replacements, but based on python 3 docs and [_roslz4module.c](https://github.com/ros/ros_comm/blob/indigo-devel/utilities/roslz4/src/_roslz4module.c), in pytf.cpp all module state is moved from global variables to a struct linked to each initialization.   This requires a bit of code shuffling and isn't strictly necessary.   I have another [version](https://github.com/pallegro/geometry/blob/indigo-devel/tf/src/pytf.cpp) which leaves things as they are.
Tested with python 2.7 and 3.4.  Note that tf/test/testPython.py has two failing test cases with or without these changes (getLatestCommonTime with no common ancestor returns time(0) rather than raising an exception).