Norm constraint refactor

I will change it to pylearn2.utils.wraps without understanding, but you guys really need to work on the docstring for that method. It has several fields full of WRITEMES, and of the stuff that is written, I have no idea wtf any of it means. I'm sure it makes sense if you've been using a lot of nested decorators, but to someone who's just been using functools.wraps it's completely impenetrable and I have no idea what the purpose of using it is. Don't be surprised if people don't use a mystical function when a non-mystical option is readily available.