Refs #2480 - Display default values and mandatory props in alg diags.

Take same definition of mandatory as WikiMaker, i.e. when a property needs
input from the user or else a red asterisk will appear.

Account for instances of EMPTY_* and *_MAX macros.  Catch a few that even
WikiMaker doesn't.
Refs #2480 - Fix compiler warnings.
Refs #2480 - Fix compiler warning.

A quick google indicates this could be a bug in the version of GCC used on
RHEL6.  We use boost::optional elsewhere in Mantid, so hopefully this will
fix.
Refs #2480 - Fix compiler warning.

Okay, we use get() instead of dereferencing elsewhere, so this should
work.
Refs #2480 - Abandon use of boost::optional.

After a discussion with Martyn it seems likely that for the version of
GCC and/or Boost we have for RHEL6 we are unable to return boost::optional
objects from functions without getting the warning I've been trying to
fix.  Elsewhere, we pass them into functions by reference and therefore
avoid the problem.

I'm not a huge fan of that option, so in this case exceptions will provide
the functionality I need instead.

Also, renamed a function and some variables to make things clearer.
Refs #2480 - Only round extremely long numbers.
Merge branch 'feature/2480_show_required_props_and_default_vals_in_alg_diags' into develop