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)

formatting nit:
```python
fontlist = [
    ('SourceSansPro-Regular', 'SourceSansPro-Regular.ttf', None),
    ('OpenSans-Light', 'OpenSans-Light.ttf', None),
    ('Arial Unicode',  'Arial Unicode.ttf',  None),
]
```
with the trailing comma on the Arial line to make diffs nice if we add new fonts.