All objects from pipeline are stored as array, not just arrays
Refactor: Removed PreventEnumerationOnEvaluation flag

The fact that internally all unprocessed pipeline output is represented
as an object[] instead of Collection<object> saves a lot of effort and ugly
workarounds.
Therefore the newly introduced and very ugly "PreventEnumerationOnEvaluation" flag
could savely be removed again.
Code is much cleaner now and better to understand.
Added test for issue #116
Merge pull request #202 from sburnicki/psobject_properties

Unified member access / PSObject reflection properties / Array Improvements
Added a bunch of tests to test ValueByPipelinePropertyName
Handling of 'Property' paramter in New-Object cmdlet
Various fixes for support of  ValueFromPipelineByPropertyName
Added a bunch of tests to test ValueByPipelinePropertyName
Various fixes for support of  ValueFromPipelineByPropertyName