Updated to .NET 4.5.1 for compacting the large-object heap

The memory usage under .NET 4.5 climbs over time due to large object
heap fragmentation.  The latest code prevents this by occasionally
compacting the LOH.