Removed executable flags from headers.
Removed executable flags from docs, tests and examples.
Made iterator operators conditionally defined depending on its category.

This makes iterators defined using iterator_facade more friendly to type inspection and fixes its use with next()/prior() since commit https://github.com/boostorg/utility/commit/651a869d4f9479dd3dfdd0293305a60b8c8d0e1c.
The arithmetic, indexing and relational operators are only defined if the iterator category or traversal permits that. Note that the implementation requires partial template specialization support now.
Remove operator_brackets_dispatch.hpp

I should have removed it in 8e5b8025d8fa05c72403b946d6748c86923431b0.
Run generator_iterator_test.cpp

I accidentally removed it in 8e5b8025d8fa05c72403b946d6748c86923431b0.
Merge pull request #4 from Lastique/sfinae-based-operators

Make iterator operators conditionally defined depending on its category.

Looks okay and fixes several known problems, thanks Andrey.
Merge upstream branch 'develop' into pr/zip_iterator/fusionize

Signed-off-by: Kohei Takahashi <flast@flast.jp>