Implementing add point cloud

* Implemented templated copy_non_nans together with its helper function copy_non_nan_loop. 

* Temporary transform_non_nans are implemented separately which basically takes an array of points and applies affine transform on it.

* Implemented isNaN functions (needs to be tested further)

* Implemented operator* for Affine3f and Vec3d.

* Point3_s are converted to Vec to facilitate copy_non_nan's implementation