Possibility to format/manipulate object-types pre-render.

In **Musatche.js** there is the functionality to pass values to a function to format the value. We have been missing that in the .NET version.
I have seen something about using lambdas but could never really figure out how that worked. This is my solution to the problem. Hopefully this will be pushed to the main repo or otherwise at least lead to a discussion on how to resolve this problem.

usage:
```
//print all decimal values as currency
ValueFormatter.Add<decimal>(decValue=> decValue.ToString("C"));

ValueFormatter.Add<MyObj>((objValue) =>
            {
                if (_someCondition)
                    return objValue.RenderAsSomeCondition();

                return objValue.ToString();
            });

```
(See the test *Nustache.Core.Tests.It_can_format_object_with_value_formatter()* for usage.)