Simplify the representation of Free to have a canonical normal form

 As described by @runarorama: https://github.com/scalaz/scalaz/pull/725#issuecomment-45301271

Also, unless I'm mistaken, given this representation we can also redefine ```Trampoline[A]``` as ```Trampoline[A] = Free[Id, A]```. If others agree, I'll make that change as well.