Support for non-ASCII characters in variable names

Copied code from https://github.com/marijnh/acorn/ with attribution. 
Translated to Python. 
Basic tests included.

Adds a dependency on six.py to handle unicode functionality consistently on python 2.x and 3.x.

Fixes #305