added point_iterator

instead of
for(int x = pnt.x - radius; x < pnt.x + radius; x++) {
 for(int y = pnt.y - radius; y < pnt.y + radius; y++) {
  do_something(tripoint(x, y, pnt.z));
 }
}
One can now write
for(point_iterator it(pnt, 1); it; ++it) {
 do_something(*it);
}
add documentation for z-levels