Merge branch 'dev' after Sprint 1

* Merging code after completing Sprint 1
    * Login/logout support
    * Local authentication (for disconnected testing purposes)
    * Crowd authentication
    * Feed list page
    * Mockup of Feed Details page
add Dockerfile and supporting scripts

This allows running Metis (in a dev config for now) by doing:

`docker build -t vip/metis .`
`docker run -d -p 4000:4000 vip/metis`

Then you can hit it at http://localhost:4000/ (or
http://localdocker:4000/ with docker-osx).
update README.md with docker instructions
install build-essential in Dockerfile

Some node modules need make and compilers.
install node reps in Dockerfile so they can be cached

This speeds up subsequent docker builds if the package.json doesn't change.
add node_modules/.bin to docker/run-tests.sh so it can find karma

Also cd's to /metis to run the tests from there.
setup test suite to use phantomjs & install it in Docker

Instructions for running tests in Docker added to README. Lots of failures, but it seems that was already the case.
Merged in version 1.0 codebase from dev
Merge branch 'dev'
Updated version number in package.json
[TH] basic csv parse error surfacing

It’s not a great solution, I was hindered by the
current implementation with the child processing
and the csv parsing libraries own limitations, and
my lack of real familiarity with node.

A better, long term solution would recognize
ParseErrors as real things and collect them all up
for all files and present those like any other
data error. But that’s not possible with the
current parsing library (it only errors out once,
not for each line, and to prevent it from trying
to consolidate and fold up the broken data I had
to just stop processing all together so only get
one error for one file at a time).

Still, this is way better than what’s there.

We can investigate a similar solution for XML 
files as well.
[TH] minor formatting, moving logging up a layer
[TH] pass stack trace across to parent and log it
[TH] add papertrail support

Deployment note: you will need to run 
`npm install`. You also need to configure the
config.log.papertrail section with host, port and
app name, see commented section in the sample
config.yml
[TH] add new relic support

Deployment notes: you’ll need to run `npm install`
to get the newrelic agent package installed. You
also need to take the newrelic.js.sample and make
a file called newrelic.js, with the license key
added. Without this file, newrelic is turned off
all together, so we can deploy without turning it
on.
[TH] brings error parity to XML files

The xml stream parsing library, like the csv 
one, has undocumented on(‘error’,. . .) callback
functionality, but whatever code they have in place
to do the parsed event handlers doesn’t call into
the handler properly. I would get it to fire, but
no error information was passed through. Instead,
I’m relying on a .once(‘error’,. . .) callback 
instead, and so I have to short-circuit the rest
of processing, just like with the CSV.

It’s certainly not ideal, but it should do the job
to get more information back to the states on the
inherent problems with feeds.
[TH] code cleanup from PR review
[TH] fix functional test setup, correct README
Merge pull request #216 from votinginfoproject/fix-functional-test-suite

[TH] fix functional test setup, correct README
Merge pull request #215 from votinginfoproject/improve-logging

Improve logging