changes to allow HMatrix to have more entries than fit in int (i.e., some int->size_t replacements)
added flag takedatandownership to HMatrix copy constructor

if takedatandownership==true, the data are not copied from the old HMatrix, the pointer
of the new object points to the same data. at the same time, the ownership is transferred
to the new HMatrix - this means that for the python wrapper, you can make a new HMatrix
wrapping around an existing numpy array, without having an intermediate copy that is destroyed.
Merge pull request #6 from jfeist/libhmat_updates

Libhmat updates