Feature/facter 2/fact 65 add default aggregate, freeze chunks

This pull request refines the behavior of aggregate resolutions in two ways.

The first change is that chunk values will be frozen after they are evaluated. This means that when one chunk inspects another chunk, it cannot accidentally modify the already evaluated data.

The second change adds a default aggregate action for aggregate resolutions. The default aggregate action assumes that all resolved chunks will be data structures that can be deeply merged, so that people don't need to redefine this behavior every time.

This pull request is based on GH-605 and should be merged after that.