[Module] Fix handling of instructions without debug info.

 - The change in 6829fb9 caused us to not allocation InstructionInfo objects for
   instructions without source-level debug info, however, that means that all
   such instructions end up sharing the one dummy InstructionInfo object, which
   really breaks statistics tracking.

 - This commit basically reverts that change, and also changes the code so we
   don't ever use the dummy InstructionInfo object for instructions, so that
   this problem can't be hit in other ways (e.g., if someone modifies the module
   after the InstructionInfoTable construction). There is a FIXME for checking
   the same thing for functions.

 - Fixes #144.
[FloatEvaluation] Use llvm::report_fatal_error() instead of assert(0) for unsupported floating point widths.