Limit latex equations to page width.
Fixed latex template to support multicol w/ adjustbox.
update hmac signature comparison

see https://docs.python.org/2/library/hmac.html#hmac.compare_digest
support Python older than 2.7.7
minor cleanup
warn users running older versions of Python
Update widget serializer/unserializer to allow custom serialization on a trait-by-trait basis.

Serializers/unserializers are given as the trait metadata keys `to_json` and `from_json`.
Give subclasses of the Instance traitlet the option of overriding the klass variable to have a default klass.

This makes it easy to construct traitlets for specific object types and default metadata.  For example, we can have a traitlet for numpy arrays that gives default values for `to_json` and `from_json`:

```python
def np_to_list(a):
    if a is not None:
        return a.tolist()
def np_from_list(a):
    if a is not None:
        return np.array(a)

class NDArray(Instance):
    klass = np.ndarray
    metadata = {'to_json': np_to_list,
                'from_json': np_from_list}
```

Then the NDArray traitlet will by default have the klass and some custom metadata.
Prepend a sentinel value to model ids to distinguish them from normal UUIDs (from Sylvain Corlay).
Change serialization terminology to serialize/deserialize
once-displayed
unnecessary context variable specify
incorrect comment
correction in widget.js
Upgrade less and generate sourcemap files
add comments for style blocks in less

separates each component into individual line in compiled css,
reducing some churn in minified css files.
abstract hard-coded style values to be variables for different theming
Compile less files
Simplify the code for picking json serialization functions to expose the logic better
Update whatsnew from PR files