fix LevelIter.operator+/-
Merge pull request #29 from torbjoernk/hotfix/leveliterator-op-plus-minus

possible bugfix in `Controller::LevelIter`
docu: doxygen-related fixes

explicitly use Doxygen commands
docu: docstrings for Ecapsulation
docu: docstrings for VectorEcapsulation
docu: enable JAVADOC_AUTO_BRIEF

and got rid of `@brief` and `@details` sections
docu: using MathJAX markers directly (not Doxygen's)
adding real overloads

we don't need to do any dynamic_casts if the input is already of the
correct type
adding some assertions after dynamic_cast
reorder template parameters

those with default values should be placed at the end
some cleanup and C++11-fications + copy/move ctors
always use shared_ptr for Encapsulation objects
minor code cleanup and some assertions
always use shared_ptr for ISweeper and ITransfers
some code cleanup (line length)
made Controller::LevelIter a real iterator

at least almost. have to check a few STD internals to make it conform
with STD
don't use at() where bounds check is already done

`std::vector::at()` does an additional bounds check eventually throwing
`std::out_of_range` exception. This is useless at places where the
bounds are already checked and/or used. In such situations one should
use `std::vector::operator[]()` which is considerably faster.
controller: get_finest & get_coarsest

new handy accessor methods for the finest and coarses level hold by a
controller