Removed CartesianProduct, leaving only an iterator using boost::iterator_facade.
Updated documentation.
Changed project name in CMakeLists.txt.
Don't build end from *this, as it may carry the current_tuple_ value.