Liberalize isinstance(-,str) to isinstance(-,basestring) when safe to do so.

Using PLY with Python 2.X and `from __future__ import unicode_literals`
would previously crash on these checks. However, it is safe and appropriate
in these cases to allow unicode literals.
Add use of six library to support checks for string-like classes
Remove dep on six and just do the minimum compat check
Basic gitignore
Merge branch 'gitignore'
Merge branch 'support-unicode-literals'