Rename Functors

This may fundamentally address #13, avoiding conflict with distribution names. 

All functors that are corresponding to a named function will be renamed by adding a ``Fun`` suffix. For example, ``Abs`` will be renamed to ``AbsFun``, and ``Gamma`` to ``GammaFun``, etc.

Functors corresponding to basic operators will stay the same, which include ``Add``, ``Subtract``, ``Multiply``, ``Divide``, ``Negate``, as well as those for comparison operations. ``Recip`` and ``FMA`` will also stay.