Profiling additions

* Added support for reusing semaphores via turning off "disposeOnExecute".
* Added support for specifying --max-old-space-size node param.  (Same name, or -M)
* Added support for dumping heap to disk for later profiling.  Format: --heapdump N-in-seconds
* Cleaned up file upload middleware a bit.