Fixed vague naming.
Added optional dependency check.

Added:
* WITH_OPENNI2

Allows building without OpenNI 2.x, even if it is available on the system.
Renamed openni2 directory.
Fixed #includes to match renamed directory.
Replaced openni2_wrapper namespace with pcl::io::openni2
Renamed OpenNIGrabber to OpenNI2Grabber.

This should prevent name conflicts when OpenNI 1.x and 2.x grabbers are built.
Removed blocking OpenNI version check.
Added fix when reading ONI files.
Created pure virtual image interface classes for pcl::io

* Breaks dependency on OpenNI-specific image class, to allow for future grabber-independent usage.
Moved camera parameters into a struct.
Turned off looping for file devices.
Simplified OpenNI2 device callbacks.

Replaced boost function lookup table system with one callback for each stream. The OpenNI2Device is meant to be internal to the grabber module, so only one callback should be needed. Users of this IO module should register callbacks with the Grabber class.
Re-enabled synchronization.
Minor cleanup.
Disabled KinfuLS with OpenNI2 until it can be updated.
Code refactoring.

Moved code from onInit(...) to constructor and removed onInit(...).
Changed getDepthMetaData(...) to getMetaData(...)

* Uniform interface between DepthImage and Image.
Fix for OpenNI2 search on Linux.

OpenNI installer creates OPENNI2_INCLUDE and OPENNI2_REDIST environment variables.