aliases.py
emit empty strings rather than nulls
use python3
best effort ast parsing in aliases.py
aliases.py test
Merge pull request #1 from sourcegraph/master

latest from upstream