Rename real types to correct width

This pull request involves:

- Renaming real8 to real4
- Renaming real16 to real8
- Eliminates the use of double and complex<double> where we should
  be using real8 and complex16

Please see commit logs for individual substitution command lines.

Coverage: unchanged.

Contextually invalid substitution! Please patch back to original.