Determine array dimensionality based on Generics in FFI

- FFI inspects the Generic arguments to determine the array
dimensionality.
- Added test cases, 1 test is failing due to other issue.
- Fixed http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-2419
- Fixed http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-2529