Include the key in KeyNotFoundException

KeyNotFoundException is more helpful when it includes the key. :)
Also include inner exceptions where appropriate.