Improve MPEG4 track estimates, much more accurate at predicting final file size.

The algorithm improvements addressed the following:
- The stsz table was not collapsed to a single entry if all samples were the same
  size (apparently accidently removed in a previous submission).
- If the moov box exceeded the size of the preallocated space at the head of the
  file, it would be unused and needed to be accounted for.
- Added missing estimates for the variable sized audio/video/codec specific
  entries in the trak box.
- Added missing estimates for the fixed box overhead, allowing much tighter
  margins on the overall estimate, and thus more recording.
- Accurately calculates the size even if the file is streamable; this is
  necessary because applications such as MMS (as discovered in the linked issue
  below) which use larger file sizes have hard limits on what can be
  transferred.

Note that if new additions are made to the moov box, the estimation algorithm
should be updated appropriately now due to the lower margins.

https://bugzilla.mozilla.org/show_bug.cgi?id=987546

Change-Id: I727a37be94bc5f1d6fbc2c66777310a62dc8347c
Signed-off-by: Andrew Osmond <aosmond@mozilla.com>
Merge "Improve MPEG4 track estimates, much more accurate at predicting final file size." into kitkat