Avoid leaks with GetPrimitiveArrayCritical.

It is possible that one of the two calls to GetPrimitiveArrayCritical
succeeded, in which case an exception would be thrown and the memory
would not be released. Ensure that every successful call to
GetPrimitiveArrayCritical is followed by a call to
ReleasePrimitiveArrayCritical.
Merge pull request #40 from pkwarren/resource_leak

Avoid leaks with GetPrimitiveArrayCritical.