Update celltoolbar.js

I want to write an extension with multiple select bar. They are supposed to be displayed inline, not in block mode. The better way is to use span instead of div.
Add docs on writing kernels
Add more see also entries
Remove py3compat.open in favour of io.open
Fix excluded modules for docs
Don't try to autodocument fabfile
coalesce stream output in the notebook

This merges consecutive outputs on one stream into a single output.

Essentially, it applies the same merging that we do visually to the content stored in the notebook document.

This results in a massive performance improvement in load-time and storage size
for notebooks that have many calls to `sys.stdout.flush()`.
what’s new for coalescing stream output
test coalesced output in js
Avoid duplicate extension in nbconvert

nbconvert --to notebook --output Output.ipynb

would write Output.ipynb.ipynb before this PR
test `nbconvert --output` with and without extension
add bootstrap shim for require

it was possible for bootstrap js to load before jquery,
causing failures in the dashboard.
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
Update whatsnew from PR files
Set default rst role to literal
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).