Patch working with lists

- Added the ability for patch to work with .net lists (Generics + Complex types)
- Added unit tests to test all of the above.