Replace JNA usage in ArrowTransferDefinitions with JavaCPP
This needs to be reconciled with the addition of NullableScalarVec<T> before merging (transfer-definitions.cpp and parts of transfer-definitions.hpp can be removed when this is done).
Was passing all tests before the latest merge (with additions to NullableScalarVec<T>) , currently compiles but fails tests.
Shows merge conflicts at the moment

Working on the merge now.
FYI there remain a few usages of JNA which need to be replaced, in CRunner.scala and CArrowNativeInterface.scala
Unit test JVM looks good
com.nec.spark.cgescape.CodegenEscapeSpec fails but unrelated to this PR I believe
CMake scope

If possible, might be appropriate load the lib programmatically rather than via SBT, then it should be more consistent across different scopes.