force short_name to lowercase; add cookiecutter reqt

Fixes to two problems that tripped me up during this week's
extensibility hackathon:

1. Missing requirement, "cookiecutter"

2. Even though the instructions say that the short name needs to be
   lower case, if you *miss* that, this creates an xblock that will
   silently fail to load.  This is frustrating to debug.  This change
   just forces the name to all lowercase whenever it's used just using
   Jinja templating.

Putting "|lower" everywhere is kind of a hassle but I couldn't spot an
obvious better way to do.  The cookiecutter config language isn't rich
enough to do variale reassigment.  The hooks don't get passed any of
these variables, so you can't even do validations in there.