Add getRGBVector3i() to every point type with RGB

Currently only some of the point types with RGB have methods to access
their RGB data as an Eigen vector.

This commit moves definitions of `getRGBVector3i()` and
`getRGBVector4i()` inside `PCL_ADD_RGB` macro so that every point type
with RGB field gets these functions.
Split PCL_ADD_POINT4D and PCL_ADD_NORMAL4D into parts

PCL_ADD_POINT4D becomes a composite of two simpler macros:

* PCL_ADD_UNION_POINT4D
* PCL_ADD_EIGEN_MAPS_POINT4D

The former adds a union, and the latter adds a family of Eigen vector
accessors. The same holds for PCL_ADD_NORMAL4D. These splits are not
strictly necessary, as both macros are always used together. However,
this way the style consistent with PCL_ADD_..._RGB macros, which we
ought to have separated.
Split PCL_ADD_RGB macro into two parts

In some point types the RGB union is a part of a larger struct, so we
can not have Eigen vector accessors in the same macro.
Add getRGBAVector4i() and getBGRVector3/4cMap() functions
Add tests for all combinations of point types and Eigen vector accessors