Add tox test runner and requirements file

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add py2/py3 compatibility module

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add additional version info to pycompat

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add package docstring for asttools

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Remove asttools.imports module

This is currently not needed in the planned code. It will be
re-added if it is actually needed.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add better docstrings and __future__'s to parse

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add better docstrings and __future__ to ref module

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Change scope asttools to work only with ast nodes

Previously this module had several wrappers which worked with
scope and name nodes. Now it is a collection of utilities which
consume ast nodes. Wrappers will have their own dedicated space.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add an ENUM implementation

Several ENUM like classes were defined throughout the code. Now
these have been consolidated into a single implementation which
should be compatible with all PY versions.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add asttools module for working with name nodes

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add asttools module for working with visitors

The standard lib implementation of NodeVisitor uses function
recursion. Adding an iterative implementation to help with very
large AST's.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add astwrappers package for wrapper code

This package will contain useful AST node wrappers which provide
functionality related to ease of use when working with nodes.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add wrappers for ast.Name nodes

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Remove tests that are no longer needed

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add better docs and coverage for references module

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Fix bug in get_top_node identified in tests

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add updated asttools.scope tests

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add tests for asttools.name

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Fix bugs in visitor module identified in tests

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Add small test/benchmark for asttools.visitor

This test ensures that the non-recursive implementation of the
NodeVisitor is faster at processing large AST's than the standard
implementation.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>