Bug 844323 - Part 1: Move process preallocation logic out of ContentParent and into a new file, PreallocatedProcessManager.

Also make the PreallocatedProcessManager respond to pref changes.  This allows us to write a test involving the preallocated process.  Making this change was the main motivation for this patch; I moved the logic out of ContentParent because with the pref-watching code it was becoming unweildy.
Bug 844323 - Part 2 (The Main Event): Move ProcesPriorityManager to the main process.

XXX Don't forget to remove the TabParentObserved code.
Bug 844323 - Part 3: ProcessPriorityManager tests.
Bug 847592 - Part 1: Add an additional lowCPUPriority argument to hal::SetProcessPriority.
Bug 847592 - Part 2: When a process has priority FOREGROUND_HIGH, renice all other processes.
Bug 847592 - Tests for renicing all other processes when one process gets priority FOREGROUND_HIGH