* Make interface of Operator to `const Scope&`
* Use EnforceNotMet to unify all exception types.
* User can register OpKernel to its Ops. The OpKernelMap saved in OperatorWithKernel. Each Op which inherits OperatorWithKernel will use `OpKernel::Compute` instead of Run.