added coalesce/coalesceDefault functions

I'm not sure if coalesceDefault really belongs, but I think it might be necessary to avoid having to write partial functions (e.g. let Just x = unValue val).
Shouldn't the default value be the second argument since it's going to the end of the list?