Cleanups and minor features

I tried to clean up a few small issues. Some things are stylistic; just ignore them if you disagree. I tried to keep the commits as separate as possible, so feel free to `git cherry-pick` whatever you like. Highlights:

* Errors are reported on `stderr` instead of `stdout`.
* Some error messages include more information.
* The character escapes mentioned in [Data-types][Data-types] are now included.

[Data-types]: https://github.com/hashmal/shirka/wiki/Data-types