Make it possible for AST transformers to reject input.

Makes it possible for user-supplied AST transformers to reject input by raising a new `InputRejected` exception, which resides in `IPython.lib.security` (not sure if this is the right place for the exception to live, but somewhere in `IPython.lib` seemed correct, and the primary motivation for adding this functionality is to facilitate the possibility of AST-based sandboxing.