Improved error when NSubstitute incorrectly tries to raise an event

If Raise.Event() is mistakenly used against a non-substitute or a
  non-virtual event, later calls to substitutes used to fail with an
  "InvalidOperationException: Sequence contains no matching element" in
  RaiseEventHandler. Now throws a CouldNotRaiseEventException containing
  some info on what could have gone wrong.