[index] Move elements-access-related code to separate file, not mixing it with nodes definition.
[test][index] Change throwing nodes from polymorphic to variant-based.
[index] Remove polymorphic nodes. Add the implementation of weak nodes, not included/used yet.

The rationale to remove polymorphic nodes:
1. such nodes can't work properly if stored in shared memory due to the way how addresses are calculated (using offsets).
2. the rtree using Variant-based nodes has similar performance and takes less memory.
3. the rtree using newly added weak_nodes (not supported/enabled yet) will be even faster and smaller.

This is the first step to entirely drop the support for polymorphic nodes. After this it should be not needed to explicitly specify the Nodes types in visitors, therefore it should be possible to dispatch the nodes types statically more conveniently, simplify templates by removal of unneeded parameters, write simpler and more maintainable code, etc.
[index] Rename "static" nodes to "variant" nodes (it is more clear).
[test][index] Use new names of variant nodes in the implementation of throwing nodes in exceptions tests.
[doc] Update release notes.
[doc][index] Docs upgrade (mostly related to Range adaptors).

Add a tip about usage of Boost.Range adaptors with the rtree.
Add an example of usage of Boost.Range adaptors.
Replace invalid main(void) with main() in examples.
Fix MSVC type conversion warnings in examples.
[doc] Update release notes.
[index] Use in-memory (std::allocator) temporary containers in redistribute_elements.
[test][index] Add ctor to throwing_varray required by the new implementation of redistribute_elements.
[index] Increase readability of redistribute_elements-related code.

Convert struct to functions templates (pick_seeds() functions).
Move template parameters from struct level to method level.
Both for automatic type deduction.
[index] Fix unused parameters warnings.