Reworking the logging services, using Raygun.io

This doesn't try to audit all the places that were calling LogError() and switch them to LogUserError/LogCriticalError/LogFatalError.  I started trying to do that and then reverted because I'm not sure I have a good idea of what needs to be logged in those different ways.

This gets the Raygun.io key from the environment MONODEVELOP_RAYGUN_KEY.  If that doesn't exist then it doesn't try to send errors there.

/cc @mhutch @alanmcgovern