Support structs with no members

This is useful for opaque structs, we do not care about members but need to know the size of the structure.
Remove argument names from function typedefs
Fix for missing JavaDoc of parameter with autoSizeResult, when return value is a struct array
Support structs without contructors

This is useful for structs that are allocated and returned by a library and user allocation is pointless.
More compact struct definitions
Replace .jnilib with .dylib on OS X with JDK 6.
Support building on OS X with JDK 6
Fix compiler selection and disable compact unwind. Resolves #30

Linking libffi with compact unwind currently produces a warning. Disabling until _ffi_call_unix64 is fixed.
More compact null-terminated string decoding
Add reusable API version string parsing
Make sure clGetExtensionFunctionAddressForPlatform is only used if OpenCL 1.2 is available on the platform
Add destroy() documentation and make destroyImpl methods protected