Stanford updates (Rolling certificate support)

Most of this came out of Stanford's need to support the rolling
certification case.  Changes are for performance, robustness, code
quality and aesthetics of output. Everything here should be 100%
backwards compatible with the previously existing edx ceritificate
infrastructure.

* Features
 - optionally accept grades, designations, and certification date via
   xqueue from -platform
 - support course date ROLLING to stamp the current date onto the
   certificate in a generally accepted format
 - New font_for_string utility method allows dynamic selection of the
   best font for any arbitrary unicode string (i.e., names)
 - arbitrary text interpolation for 'with distinction', etc.
 - many more defaults can now be specified via env.json
 - verification and validation page generations are now optional on a
   global and per-course basis

* Performance
 - pre-cache all the fonts
 - pre-cache all the blank pages
 - re-use CertificateGen objects when two successive requests come for
   the same course id

* Aesthetics
 - alphabetization of imports
 - less noisy running under normal conditions
 - improved error reporting providing more context
 - shifted assumptions in valid and verify towards the open source
   community