Moved most components of the library to iterators:: namespace.

This change excludes boost:: and boost::detail:: namespaces from ADL for unqualified function calls (e.g. algorithms). This reduces the possibility of name clashes with other libraries and user's code. One of the effects should be fixing test failures on gcc 4.2 and 4.4 due to clashed with Boost.TypeTraits.

Also some of the functions marked with inline keyword.
Trim spaces.
Added a workaround for boost/token_iteratpr.hpp which uses an implementation detail of this library.
Merge pull request #5 from Lastique/adl-protect

Moved most components of the library to iterators:: namespace.

Thanks Andrey.