It makes no sense to have both, so setting a default removes
the fallback, and setting a fallback removes the default.
Also save hyph_alg to document setting only if it has been
manually chosen, so that later changes to default or fallback
can be used.
For documents without language defined in metadata (.txt, .html),
crengine would fallback to hardcoded English_US_hyphen_(Alan).pdb.
This allows for setting a different one.
This is the remaining gruntwork of #1276. I believe that only leaves networkmgr.lua and filemanagersearch.lua, which will require a little more thought.