Add 2D versions of hemiGetElement*, and make them work in OpenMP loops compiled with Intel compiler (icc).
Add support for preallocated host pointers, and ability to copy to/from an external host pointer.