Add new mission type with support for HAM-by-reference

If a mission starts with !name instead of name/yname/zname, then enable
two new behaviors.  Any other lines which start with an exclamation
point are considered critical and must be recognized or the mission is
rejected.  This allows the addition of mandatory lines without revising
the name= line every time.  Also, add support for one such critical
directive, which reads a HAM by reference, allowing well known HAMs to
be used without being shipped every time.

Syntax:

	!name = My extra-extended mission
	!ham = d2x.ham
	... regular mn2 directives ...
Merge pull request #1 from dxx-rebirth/d2x-rebirth/indirect-ham

Add new mission type with support for HAM-by-reference