Moved span out of /ast because it isn't actually part of the AST, just used by it.
Added rudimentary span tests.  Written on windows, so haven't run them.  Committing anyways.  YOLO