Improve interpolation weight computation code.

IceGrid::compute_point_neighbors() computes indexes of grid
columns (rows) both to the left (bottom) and to the right (top) relative
to a given point. (If we only compute the index of the column to the
left j, then j+1 may turn out to be invalid.)
Replace -Winline with -Wno-inline to avoid bogus warnings.

GCC warns about failing to inline default destructors. Weird.
Hide unimportant CGAL-related CMake variables.
Silence compiler warnings.
Fix IceModelVec::check_array_indices() (now it works for 3D fields too).
PISMFEvoR actually runs now (pisms -stress_balance sia_fevor).

Issues addressed in this commit:

- If a particle ends up outside the blob of ice all components of the
  stress tensor come out to be zero, so we need to have a special case
  to handle this.
- PISM's horizontal grid is cell-centered, so we can't
  put particles into the (-Lx,Lx)*(-Ly,Ly) rectangle (moreover, modeling
  domain is not necessarily centered with respect to (0,0)). The convex
  hull of all the grid points (in the map plane) is the
  rectangle with corners (grid.x.front(), grid.y.front())
  and (grid.x.back(), grid.y.back()).
- Clean up initialization of p_x, p_y, p_z, p_e.
- Trivial changes in the code evaluating a field at a given (x,y,z)
  location.