py3 compatibility changes in mysqlview.py

- added frm.util:unescape method to reverse MySQL string
  escaping, rather than relying on the dubious python
  string_escape method (which is otherwise broke on py3 anyway)
- always process all view source as utf-8.  There may be some
  strange cases where this does not hold, but the existing
  view decoding logic already had extensive utf-8 assumptions
  anyway.
fix various bytes vs. unicode braindamage in mysqltypes.py

- char / varchar fields are now always decoded per the
  defined charset
upgrade-mycnf: always read config files as utf-8
include backported contextlib.nested method

- This is used in some sandbox code where we may have a variable
  number of context managers.  contextlib.nested is removed in
  python3 and should be avoided.  Tagged this with a big XXX
  for now and hopefully this can be cleaned up later.
tarinfo.group -> tarinfo.gname

- minor long-lived bug where the group name was not reset correctly
workaround http://bugs.python.org/issue12800

- affects python3.3, 3.4 at least when attempting to overwrite
  a symlink from a tar archive that is not seekable.  To avoid
  the issue, the target file is unlinked first, if it exists.
add test for overwriting an existing sandbox

- this is largely to address http://bugs.python.org/issue12800
  as it's easy to run into this bug with sandbox --force and
  overwriting an existing sandbox
enable python 3.3 / 3.4 targets in .travis.yml