Unified member access / PSObject reflection properties

These commits introduce the intended abstraction layer with PSObject.

Everything related to commands/objects from Pashs runtime is now accessed through the introduced reflection properties of PSObject. Doing so, it is possible to access the properties/call methods of any objects, even custom objects through both the shell and internal.

Note that especially AddMemberCommand still lacks tons of features.

Element access through the [] operator still does not work, yet, and will be introduced in another commit.