use abstract type member in Free#Gosub

avoid Any in Free#resume and Free#flatMap
Free.runFC
swapped type param order
Add some useful methods to Maybe

These were all suggested by @mpilquist (thanks!).
Merge pull request #730 from xuwei-k/free-gosub-existential-type

use abstract type member in Free#Gosub
Merge pull request #731 from tpolecat/runfc

Free.runFC
Merge pull request #732 from ceedubs/maybe-methods

Add some useful methods to Maybe