Add Python3 compatibility for RiveScript

Make the RiveScript library simultaneously compatible with Python 2 and
Python 3 by importing the print_function from __future__ and reworking
parts of the code to make it compatible with both versions.

Implement the "null character" based placeholders for substitutions that
replaces the old ROT13-based method (bringing the lib up to speed with
the Perl version).

Only call msg.decode('utf8') for Python 2, as this isn't needed in
Python 3 due to strings being Unicode by default.

Make rivescript.python more robust, giving the compile-time AND run-time
error messages as console output when errors occur calling the Python
object macros.

Add example3.py as a Python 3 version of example.py.

Update brain/python.rs's Base64 example to make it compatible with both
Python 2 and Python 3. Add an "add" object macro to demonstrate the
casting to str of the responses from object macros. Make
rivescript.python cast to str to fix any possible sources of crashes
when an object returns an int or other data type.