Upgrade popit-api in npm-shrinkwrap.json

This includes the fix for restricting pagination parameters.
Load extra vagrant configuration from another file

Allow adding to the vagrant configuration with another file rather than
having lots of conditional code based on environment variables in the
`Vagrantfile`.

This loads the file specified in the POPIT_VAGRANT_EXTRAS environment
variable, which can contain another `Vagrant.configure` block which will
add to/override settings from the main `Vagrantfile`.

See https://docs.vagrantup.com/v2/vagrantfile/index.html for more
information (under the "LOAD ORDER AND MERGING" heading).
Override public_dir in testing environment config

This prevents the tests from failing locally when there's no
public-production directory present. Which means they should run
"out-of-the-box" when e.g. creating a new vagrant box.
Use OpenNorth image proxy for image resizing

Include the OpenNorth proxy and remove ours.

Changes to the image_proxy helper to use the new URL format and also to
correctly encode the URL. Also to pass in full URLs for local images.
Change the remote URL handingling code in templates to pass those to the
proxy as well.

This also works if you set the image proxy path to an external host.

Fixes #238 and also #527
if no images but there is an image property use that

This is partly a work around for an existing bug but also it means that
if people have directly imported stuff not via the API that uses the
Popolo spec we should do the right thing
Add examples for contact details fields

It's completely unclear to most users what should go in the 'Label',
'Value', 'Type' and 'Note' fields should be when adding or editing a
contact detail for a person. There's an argument that we should think
more broadly about how to redesign the entry of these kinds of details,
but in the interim this change (adding examples for three out of four
of those fields) at least provides some help for users until we have
time to do something more involved.  I left out the 'Note' field since
it's unclear to me at the moment how it should be used - I assumed this
was for free-form text for any useful notes about that contact detail,
but the example in the Popolo spec ("e.g. for grouping contact details
by physical location" [1]) makes wonder about that.

 [1] http://popoloproject.com/specs/contact-detail.html

This is an interim fix for #525.
Update the service name mongodb -> mongod to match package upgrade

We recently upgraded our version of MongoDB to the one provided by 10gen
rather than the Debian packaged version. One of the changes in these new
packages was that the service name in the Provides: line of MongoDB has
changed from 'mongodb' to 'mongod'. This means that the call to
update-rc.d for the PopIt sysvinit was emitting these errors:

  update-rc.d: using dependency based boot sequencing
  insserv: Service mongodb has to be enabled to start service popit-staging
  insserv: exiting now!
  update-rc.d: error: insserv rejected the script header

Before merging this we should check whether any of the other known
redeployers of PopIt are using this template for the sysvinit script.
Extract person/org image tag into partial

This ensures that the same image code is used on the view and edit
pages and fixes the fact that the edit forms weren't using the new proxy
code.
Remove unused dependencies

These dependencies are no longer being used so they just add time to the
install and complication when shrinkwrapping or updating package.json.
Upgrade express to v3.17.5
Fix express deprecation warning with app.configure

This fixes the following warning:

    app.configure: Check app.get('env') in an if statement

Where we were previously using app.configure without an environment
specified I've simply removed the configure block entirely.

See http://expressjs.com/migrating-4.html#other-changes for more
details.
Fix express deprecation warning for app.del

Fixes the following warning:

    express deprecated app.del: Use app.delete instead
Remove unused middleware from instance-app

This local property isn't being used anywhere. Removing it to reduce
complexity/line count slightly.
Move test dependencies into devDependencies

These don't need to be installed on the production site so move them
into devDependencies in package.json and remove them from
npm-shrinkwrap.json.
Update dev dependencies
Fix travis builds under 0.8.x
Fix logger options
Upgrade image-proxy to 0.0.2
Upgrade popit-api
Search for organizations as well as people

Uses the API internally over HTTP as it's much cleaner than trying to
use it directly in code. Still needs to handle results with more than 30
matches.

Fixes #476