Data files: add new DATA_DIR config.

Also created this directory on the server.
Data files: exclude from git.
Data files: add stubs/examples for local data.
Data files: add script to add data-by-URL symlinks!
Data files: implement file-based data store!

And use that as the default now.
Data: implement ready, failed, progress properties!
Data: backfill `ready`, `failed`, `progress` on Zoom.it data.
Data: move image info into `dzi` container.
Data: properly separate internal from public.

And in the process, implement saving & returning full DZI info!
Data files: fix string `tileSize`, `tileOverlap`.
Merge pull request #45 from zoomhub/data-files

File-based data store & Content class overhaul
Data files: improve script; fix for failed content.
Data files: minor fix to script progress logging.
Ops: de-dupe app run command; use npm start.

Not fully ideal, as that uses node-dev, but good for now.
E.g. ensures we’re consistent with fibers vs. callbacks.
Ops: attempt to fix broken deploy by loosening sudo.
Ops: continue trying to fix deployment; change service script.
Revert "Ops: continue trying to fix deployment; change service script."

This reverts commit 68d7c4d36912930532d7508a5a9e5c10578533e0.
Ops: continue trying to fix deployment; absolute npm path.
Revert "Ops: de-dupe app run command; use npm start."

This reverts commit ab75bb1bc62944d0c391125054a67b939385bd44.
Ops: compile with callbacks, not fibers.

For consistency with our development.