Convert twikifier into a node package

A large commit that provides the following:
* Replaces Makefile with grunt for build tasks.
* twikify is run from grunt as part of the test task, it can still run standalone as before.
* The example of twikifying in the browser has gone - it's not worth the effort making this work.
 * server.js is now a node executable and packaged up into an NPM package along with twik.js and twikifier.js
 * Files have been moved into various folders to make better sense of what they are for.
 * All JavaScript apart from the TiddlyWiki stuff is linted.
 * There is now just a single script for running twikifier from /etc/init.d
Corrected single quotes typo
Corrected test tiddlers collection URI
Remove twikified Python file and update README

The twikified code has moved into it's own repository and
so it is being removed from here to keep things clean.
Service script logs to syslog and socket file in run dir

The socket file is now written to /var/run/twikifier
to be consistent with other unix processes.
This should probably be configurable when running in
 a development environment.
Make the socket file location configurable

Take the first argument to the node script as the
absolute path otherwise use the default in /var/run/twikifier
Create run dir if not present
Bump version
manual merge of changes from upstream
Manage a memory overuse or crash bug

If we properly manage memory by calling window.close (see
commented code in server.js) then the worker may crash. So
instead after maxClientConnections, we gracefully close the
worker's server and exit. The master will automatically start
up another.

In the process of diagnosing this problem other changes were implemented:

* make sure package.json is correct
* submitted a jsdom bug https://github.com/tmpvar/jsdom/issues/614
* fixed a big with argument passing when memcached not being used
* adjusted logging so non-error stuff goes to stdout, and error
  stuff to stderr
* changed some event listeners from 'on' to 'once' or 'addListener'
  to 'on'.

Note the problem at the issue is not yet fixed and until it is
twikifier will be a bit fat, when the problem is figured out
it will use less memory and will not need this restart.
Set a time out on the http request

This helps alleviate 'timeout on socket communication' errors
that are sometimes seen. The path that leads to that are:

* user edits a tiddler with a macro in a large space
* returns to view the rendering of that tiddler
* twikifier loads up the json of the space's tiddlers
* that json is not cached in memcached because of the recent
  change in the space
* the http request goes beyond 10 seconds
* engaging the timeout on the unix socket (between python and node)

This change makes it so the http request can timeout (after 8
seconds) but still allow the tiddler to render (without the
store for the tiddlywiki being filled).

The assumption here is that some rendering is better than a
weird error.

BTW: these timeout errors are _very_ rare, but happen enough
that it seems worth putting some protection in.
update version to reflect timeout addition
close function and kill me
improve logging

we want to know when an effort to retrieve store info
timesout
Merge remote-tracking branch 'origin/master' into node-package
Manual merge of upstream/master
Fixed twikify tiddler retrieval, missing pathname in path option
Remove node engine restriction

twikifier on tiddlyspace.com uses v10 now so v8 is out of date
Make sure this is executable and local modules are found

* Add a script comment stating this is a node executable.
* Use paths to find twik and twikifier relative to where server.js is running from.
Throw an exception on error so that the grunt task can fail