Changes:
* Indentation with tabs by default.
* Array keys dumped without "[i] = " prefix.
* String keys that are valid identifiers aren't enclosed in '[""]'.
* Basic support for multiple references (as specified in the comment).
Changes:
* Add comments to explain the dumping code
* Add support for dumping values of any type (as '<' <type> '>')
* Add support for tables as keys in dump2()
* Make dump2() return it's result (like dump()) rather than printing it
* Simplify and optimize function serialization via serialize()