cekees/fix moving mesh

- fixes hotstart capability
- fixes poor scaling when partitioning from tetgen files
- adds petsc logging in partitioning from tetgen files
- modifies Eisenstat-Walker adpative tolerance selection, but that needs  more work on a new branch
- took out the subdomain divergence  print statement. The max  over all elements in the simulation is logged.
@ahmadia and/or @mfarthin , can you please review this?
Looking at the source for tetgen 1.4.2, here's the line (31242 of tetgen.cxx) for generating output:

```
      fprintf(outfile, "%4d    %.17g  %.17g  %.17g", pointnumber,
              pointloop[0], pointloop[1], pointloop[2]);
```
pointnumber is just an `int` type, which is implementation-dependent.  The 4d specifies a minimum width of 4 digits, but that can obviously be much larger for big meshes.  The only "switching" I see here is the %g characters in the point locations, which will switch from integers to floating-point values depending on the values in point (which is an array of floating-point values).  Reading this data into a 32-bit integer will overflow when compiled with 32-bit ints and over 4 billion mesh elements, which might have been what you were experiencing.  Correct this by just reading into a 64-bit integer, which should be sufficient for handling any index values Proteus will handle in the next hundred years :)