Ignore files containing 'NOCOMMIT'.

I intend to abuse this to hide google API keys and such.
Use the Google Custom Search API.

This uses the config_NOCOMMIT.py module, which isn't committed, but is
documented here.

It should contain two string variables:
CSE_API_KEY: API key for a google cloud account.
CSE_ID: The ID of a google custom search. It should not have a site
restriction. Maybe it should (probably) have image search enabled.
GetImagesForQuery: Add userip, remove 'pages'

Use the 'userip' arg in the query (which allows per-user accounting from
the API console, I believe), and remove support for the 'pages' arg. In
the new API you get 10 results per page, which is more than the 8 total
we got previously (split over 2 pages).
Add /search handler, and use proper json module.
Add an explanation of config_NOCOMMIT.
Log timing information in ImageSearch.
Initial sketch of the angular rewrite of the MFK maker. Based on the
angular seed app, and many artifacts from that still remain. Still,
seemed worth having its own commit.

Wipes out all the git, adds a script for "building" the app (i.e.
symlinking everything into the right place). A corresponding prod one
will happen eventually, but probably isn't strictly necessary.
A couple changes to the readme
Functioning MFK maker! Does searching and all that, but doesn't submit the
triple to the server yet, that's next.

Also, updates to the "build" script.
Merge branch 'hjfreyer-angular' into angular
Remove confusing LICENSE and README duplication. Also delete some stray
files, and tweak build script so it doesn't interfere with pushd/popd.
Remove server-side re-searching logic.

We should just be able to check signatures. This means we actually use
the 'u' parameter now.

Also add a little meager documentation on what all this u/ou/n/q garbage
actually means...
Fix a 500 when there are no results for a search
Actually fix it
Widget functionality complete, pretty much. Still not wired up to the
backend.  That's the last piece of the puzzle.
Hook the new maker up to the backend. It's alivegit diff! Just a bit more cleanup and page chrome to go.
Log more information if we get a bad JSON response.
That part wasn't really supposed to be part of the change.
Start updating style for vote page.

* Update style.css to use Sass. Pull out a tiny bit of common stuff.
* Include bootstrap css in head.html template.
* Update button classes on vote page to use bootstrap.
Include missing file + minor updates.

* common_partial should be its own full stylesheet, so we can put
  actually common CSS classes in there.
* Add title image to new maker page.