Fixed parsing variables

If a variable was the very last thing in a template, the last charater of
the variable was duplicated as a text node.
Fixed ste:get

Didn't work at all before. The varname was not passed correctly.

Also added the test case that showed this.
Added scoping.

ste:mktag generated tags now have an own scope. They even resemble
closures, since they inherit their parent scope.

A lot of work was done to keep this compatible with older programs.
However:

* Templates that relied on the non-scoping behavior of tags will probably
  fail.
* Since $ste->vars is no longer an actual array, things like
    $ste->vars["foo"]["bar"] = "baz"
  are no longer possible! A single field access will still work:
    $ste->vars["foo"] = "bar"
Simple autoloader for examples and tests.
Added ste:setlocal and refined test_scope.
Moved code into src subfolder and fixed docu
Moved to src/ste for psr-4 compliance