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.
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.