List Formatting, minor fixes

Also list formatting (FormatData generation and processing) is now implemented.
Again, along with minor bug fixes and refactoring.

Depending on the data type, the proper format is chosen automatically:
	object has <= 5 properties: table
	otherwise list
which corresponds to PS behavior.

Note that we still deal with *all properties*. As soon as we support the
extended type system we need to properly implement the DefaultDisplaySet,
so we will only print selected properties of common objects.
Example: "foo".GetType() will now print all possible properties, not just
the important ones as PS does.