Improve parser; add PythonBlock

* nix all the globalsdict nonsense since we don't use it
* add PythonBlock which allows you to set vars in the env (and other
  things)
* make the TAG_RE a DOTALL which allows it to match over newlines