add FSharp.Monad.Free

copied from https://github.com/pocketberserker/free-monad-fsharp/tree/b2b2b298cbe5902769e39487c40872a7b19ddbec
add Monoid
add Foldable
add instance function
add option helper functions
add Endo
add foldl
add list Traverse
add Ordering
add Order
MonadPlus, Alternative