Add v3 dynamic cert template and logic

Create v3_dynamic certificate renderer.

 * Adds a new certificate renderer, v3_dynamic, which includes some of the improvements from previous Stanford renderers and is intentended to obsolete them:
   * Rolling certificate date calculation, with pretty printing
   * Dynamic text font selection for optimal aesthetics when different unicode sets are used
   * Dynamic text sizing that tries to make names and course titles as large as possible
   * Nice dynamic centering
* Also, introduces new semantics for 'interstitial texts' to allow them to be used not only to note distinction, but also the conditions for which a particular cert was granted
* Makes interstitial texts into a defaultdict which should make it safe to reference them everywhere without lots of annoying .get() failover

Includes fancy autoscale and centering code.

![stanford_soa](https://cloud.githubusercontent.com/assets/3364609/5308628/e1473810-7bcd-11e4-9d49-cae2b9af24cb.png)

`"<b>{}</b>".format(u"José Chápo")`  will break this. So recommend casting ALL strings which you call `.format` on to unicode. `u"<b>{}</b>".format(u"José Chápo")` fixes. tiny fix, big bug.