LI: Renaming so extern. velo interface is generic

I have renamed files, subroutines, flags and namelist options so as
not be specific to LifeV, Albany, or PHG.

Recently we have moved from primarily using Lifev to Albany but to
compile with Albany we still needed to set LIFEV=true and call Albany
through subroutines with "lifev" in the name.  This cleanup assumes
the API is more generic and does not care what code is on the other
side of the interface, as long as it works!  There is updated logic
in the Makefile and in ifdefs in the code to only allow certain
external libraries/solvers to do the things they are able to do.
This will need to be updated as libraries evolve (e.g., if Albany
becomes able to do L1L2 or Stokes solves).

Specific changes:
* To build with an external library, you must specify on the 'make'
line one or more of: ALBANY=true, LIFEV=true, PHG=true  (only the
first one is new)
* There is new logic in the Makefile that defines new variables based
on the external library being linked (the flags above):
USE_EXTERNAL_L1L2, USE_EXTERNAL_FIRSTORDER, USE_EXTERNAL_STOKES
* ifdefs in the Fortran code have been changed to match these new
variable names and reorganized a bit to avoid nested ifdefs
* mpas_li_lifev.F module has been renamed mpas_li_velocity_external.F
* subroutines in that module have had the lifev and phg names eliminated
where appropriate to have a more general name
* namelist options for the velocity solvers have had the library names
removed.  Valid options are now 'L1L2', 'FO', 'Stokes'.
NOTE THAT EXISTING NAMELIST FILES NEED TO BE CHANGED.