Optimist rework

The main substance of this pull request is 8f439ac, which changes Optimist from:

* +20 morale

to:

* +25% to all positive morale effects
* -25% to all negative morale effects
* +4 morale (+5 after the modifier)

The remaining commits are just code cleanup and commenting.