Patch now works with .net lists

- Modified the path validator to allow through lists (And theoretically other IEnumerables)
- Modified the path setter to allow setting of lists (And other IList types). 
- 2 extra unit tests to verify each of the above.