Modified specfem3F.f90 along with read_arrays_solver.f90 to switch from 
static allocation to dynamic allocation for some arrays. Arrays impacted are :
  ibool,xix,xiy,xiz, etax, etay, etaz, gammax, gammay, gammaz, jacobian, 
  xstore, ystore, zstore, kappastore, mustore, not_fully_in_bedrock, 
  flag_sediments, rho_vp, rho_vs, idoubling, rmass, rmass_ocean_load, 
  updated_dof_ocean_load, displ, veloc, accel.
added a few variables in constants.h.in that should be disposed of.
modified specfem3D.f90 to prepare for external meshes.
added communications for simulations with external meshes.
modified constants.h.in due to error in previous commit.
added external mesh to meshfem3D. 
Still lacks the generation of database (the partitioning), sources/receivers management and Stacey conditions.
fixed a few bugs.
added locating receivers on the surface and recording seismos normal to surface in case of external mesh.
added source normal detection.
added surface movie and shakemap.
fixed a symbol with too long a name.
added gatherv for movie surface ans shakemap.
fixed symbols with too long a name.
fixed shakemap
fixed bug in locate_source : missing argument NPROC.
suppressed use of array subsection in assemble_MPI_scalar/vector.
added choice if seismograms are recorded along normal to surface.
added wait for assemble_MPI_scalar send buffers.
fixed a bug in source and receivers detection.
added dummy size for itopo_bathy when no topography.
added detection of inner elements.