add create new bookshelf
update octokit
Merge remote-tracking branch 'origin/master' into 61951442-create-new-bookshelf

Conflicts:
	bower.json
use octokit's createBranch instead of createRef
Use XMLSerializer and DOMParser instead of jquery.

Jquery often changes a file into an html file instead. EPUB wants xhtml.
We need the dom-to-xhtml plugin, otherwise parsererror results after the first edit.
Avoid using "undefined" in head and body of new document.
Handle legacy html entities

For EPUB 3, the content should be html5 compliant xhtml. This means
you can only use amp, lt, gt, quot and apos entities, unless you declare
the dtd in the doctype. This change attempts to parse legacy xhtml and change
it to more compliant html.
Use popover to show parse errors
Colour code the results to show complete, fail, skipped.

Also show status for completed modules in the popover.
Documented the migration framework
Make migration code aware of bookshelve changes.

This basically apply the relevant bits of 4190d2 rebased on a
new master.
integrate 'create new bookshelf' with change bookshelf modal
Merge remote-tracking branch 'origin/master' into 61951442-create-new-bookshelf
Auto-scroll migration log to the bottom, styling.

Skipped modules are now white rather than yellow. More neutral.
Log will auto-scroll so the last module is always visible. It will
however only scroll if the window is at the bottom already, allowing
the user to scroll up without interference.
Indicate when migration is finished.
If contents isn't xhtml, retry as html, and convert.

This will allow legacy ebooks to open, converting the content to
xhtml. Though the change is a few lines, it took a lot of effort to
figure out how to get chrome's XMLSerializer to create actual xml. In
the end, the fix was two lines: Create a new xhtml document, and clone the old
one's contents into it.
Merge branch 'less-less-logging' into better-xhtml-handling-v2
add octokit to gh-book
fix typo in create bookshelf