[#29] Add some new code block definitions

Instead of using colour names, avoid ambiguity by using the scratch
block names as the code class names.
Allow searching for manifests in symlinked directories

This allows one to 'fake' the lessons directory by putting only
certain languages (or just one), and test builds on those only.
Fixed `clone` task. Now clears existing files correctly.
Style tweaks
Edited list styles in challenge boxes
[#29] Add scratchblock styles to scss

Fixes 1d543ea9 because it was totally wrong.
Merge branch 'master' into 29-block-css

Conflicts:
	assets/css/master.min.css
Make lesson checkboxes clickable in js
[#36] Move formatting stuff out of README
Add js to the pandoc include list

I don’t think this is necessary – the pandoc -c switch looks like it is
specifically for css files, and even then I’m not sure what it does.
[#39] Auto-generate a README with some basic info
Copy tweaks to auto-generated README

Add links; formatting.
Add readme checkbox change to scss
Fix phantom.js build command
Only generate a pdf if we’re not copying one.

There’s no point copying *and* generating a pdf. Let’s do one or the
other.
Use npm-installed version of phantomjs.

Versions newer than 1.9.2 appear to have font problems, so we set an
upper bound on the version for now.
Add pandoc pagebreak filter
Add a custom PDF footer with phantomjs
Add some extra html markup via javascript.

In order to style up some elements for pdf generation, it’s necessary
to add some spans via javascript. Some of this can be fixed by
modifying lesson markdown / manifests, but it’s perhaps simplest to
do it this way.
Add a legend template; move it into position in js