The python code in each environment is only run again if it has changed

- Refactored to simplify code
- Changed to VerbatimOutput to simplify writing the environment content
  to a file.
- A helper python module is used to run the user code in a cross plataform
  and encoding safe way (runpy.py).
- The output file is now named @output.tex, it is included as utf-8
- After each run the used code is copied to a cache file. If the tex is
  compiled again and the code has not changed, the previous output is used.
- Package takes options
  - Key: Value option `bin` used to specify the python binary to use.
  - Option subfolder used to indicate that python related files should
    be saved in a subfolder named `py`

Still to do:
- Make it cross platform (copy, delete and compare files)
- Check if the path separator works in windows
- Fix encoding in Python 3
Removed build.sh and note in README
Added documentation