Bug 903012 - Convert WaveReader to use static_assert. r=kinetik

We prefer the built-in check to the PR_STATIC_ASSERT macro now
that it's supported widely enough to use.

This is mostly adding error strings to report on assertion failure.
Bug 903012 - Fix static bounds checks. r=kinetik

In reviewing the static asserts in the code I found two
inconsistencies.

riffHeader includes 4 skipped bytes which weren't accounted
for in the bounds check.

Comparisons of a uint against UINT_MAX are very unlikely to
fail regardless, but this at least makes the two MAX_BLOCK_SIZE
checks the same.