refactoring to make rgb and ir packet stream parsers and packet processors configurable, this will allow to easily swap different implementations and even use different implementations per device
fixed license header
replaced default argument with method overload
renamed PacketProcessorFactory to PacketPipeline, moved all ownership handling of packet parser and packet processor objects to PacketPipeline
Merge branch 'master' into configurable_pipeline

Conflicts:
	examples/protonect/src/libfreenect2.cpp
Merge branch 'master' into configurable_pipeline

Conflicts:
	examples/protonect/include/libfreenect2/libfreenect2.hpp
	examples/protonect/src/libfreenect2.cpp
make install enabled

The shared library, headers and a cmake file can be make installed
Definitions and headers for threads added
SyncMultiFrameListener changes:
 - implementation using pimpl - fixes #48
 - added non-blocking method to check if all frames are available - fixes #56
 - added timed wait function if compiled with c++0x or c++11
Merge pull request #57 from christiankerl/refactor_frame_listener

SyncMultiFrameListener changes
Merge pull request #38 from christiankerl/configurable_pipeline

make packet processing pipeline configurable
Added include <algorithm>
Added type in std::min/std::max
Added include <math.h> and _USE_MATH_DEFINES if WIN32
Added Ubuntu documentation
Formatting README to Markdown format
Merge pull request #77 from davetcoleman/upmaster_readme_formatting

Formatting README to Markdown format. Thanks @davetcoleman!
Merge pull request #67 from larshg/libfreenect2mathfix

Added include <algorithm> in ifdef WIN32 and VS2013
replaced libusb_get_port_number with libusb_get_device_address to correctly identify devices, fixes #65
Merge pull request #80 from christiankerl/fix_device_identification

fix device identification
Made a ifdef for packing data to work on windows also.
Path of freenect2Config.cmake fixed