fixed: explicitly initialize to 0

compilers like to optimize multiplications with 0
fixed: make sure to use proper iteration limits

i+1 is read -> i cannot loop to last node
changed: get rid of 'last' member

storing iterators into foreign containers is not a good idea.
*all* iterators into a map are invalidated on inserts and
last was not kept in sync.

instead of fighting uphill, remove member and always grab fresh
from container
fixed: wrong order of parameters in point() overload