Fix riak_core_util:compose functions
Fix riak_core_util:compose functions

Fix the `compose/1` and `compose/2` functions in `riak_core_util`:
* Compose lists of functions from right-to-left to match mathematical
  definition.
* Add type variables to the type specs to express the intent that all
  functions being composed together should have the same type signature
  (a single argument of type `X`, returning a value of type `X`).
* Add a test case that exposed the bug in the previous implementation
  that composed from left-to-right.

Kyorai/riak_core