Pre-plan required output arrays.

Summary: This causes the RuntimeLayer to pre-plan the required output arrays and create them in advance.  It also caches the arrays so that they can be used for future requests as long as the requests require arrays of the same size.  Overall this reduces the average generation time by **12ms**, to 60ms from 72ms.

Test Plan: Run `TychaiaTool.exe test-performance` and see the faster generation time.  Try the version without the patch and compare.  The amount of speed-up might vary on your machine to my machine (but let me know if you see any decrease in performance).

Reviewers: Sabre070, jrhodes

Reviewed By: jrhodes

Maniphest Tasks: T100

Differential Revision: http://code.redpointsoftware.com.au/D67