Expand tilde paths before passing to NSFileManager

The Apple docs say to call stringByExpandingTildeInPath.
Make ArrayWithList static

This was an instance method when it should have been static.
Switch to transient DynamicAssembly to support sandbox

DefineDynamicAssembly relies on GetCurrentDirectory() which will fail in the Mac sandbox. NSHomeDirectory() must be used instead. Rather than persisting to disk, this patch makes DynamicAssembly transient when used by the runtime.
Add handlers for AppKit

This patch requires the tools update to generate the correct types.
Optimize GameKit handlers
Merge branch 'hotfix/arraywithlist-static' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/arraywithlist-static
Add mutex around critical sections.
Merge branch 'feature/appkit-handlers' of https://github.com/spicypixel/monobjc into spicypixel-feature/appkit-handlers
Merge branch 'hotfix/gamekit-handlers-opt' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/gamekit-handlers-opt
Merge branch 'hotfix/dynamicassembly-transient' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/dynamicassembly-transient
Minor fix.
Update tools to match monobjc#422.
Add extra lock to be safe.
Merge branch 'fix_multi-threading' of https://github.com/letiemble/monobjc into letiemble-fix_multi-threading
Move try/catch block to log un-handled exception.
Remove unneeded types.
Add a test to detect XXX_Definitions types.