Move to boost::function objects from pointers

This gives us more flexibility for adapting to changing needs.
Test implementation of ProxyAdapter for OSConcept

The ProxyAdapter allows the user to specify an adapter function for
converting between input (ThermalZone for instance) and output
(ie, SizingZone).

The implementation if fairly rigid and should work specifically for the
cases we have at the moment. The C++11 move will allow us more
flexibility.

@evanweaver @kbenne