Use named WM router table instead of starting them

* Update to work with basho/webmachine#128
* Builds on #265

@seancribbs' Webmachine change uses a single Webmachine router
(the way it used to be) and uses multiple keys in an ETS table
to support multiple dispatch routes. This change removes the custom
routers from the supervisor and adds a `router_name` to the two
webmachine options. Only one of them is used if the admin and web
config share the same interface.
Fix for 500 error when putting an object to a non-existent bucket

Fixes #436

Fix issue where attempting to put an object to a non-existent bucket
results in a 500 instead of the expected 404.  This is a regression
introduced by some recent refactoring. Also included is a riak_test
regression test for this issue.
Roll version to 1.3.0
Pin dependency version in preparation for release

For each dep, find the latest commit we've been using in testing.
If there's a tag that includes that commit,
use it (via `git tag --contains $SHA`). Otherwise just use the sha.
Caveat, there are probably a couple of dependencies who'se own
dependency lists aren't pinned down, so they could still be using
`master`.
Add Solaris and SmartOS support to riak-cs packaging
Use tag of riakc with fixed deps
Fix dependency on node_package to a proper tag
Fix dep repo tag derp'ery
Add riak_test module for GET Object with Range header
Add riak_test module for GET Object with Range header after MP upload
Add riak_test for GET Object with Range header, multiple range and invalid range cases
Update and cleanup app.config template

Fixes #451

Add entry for cs_version environment variable for new installs.
Also remove some obsolete or rarely used options to reduce clutter in the file.
Velvet dependency to `release/1.3` branch

Should mean we use lager 1.2.2 now, as shown
from `./rebar list-deps`.
Put anonymous_user_creation back in app.config template
Add simple multipart upload tests to python test

Make sure that `{enforce_multipart_part_size, false}` is set in your
`app.config` before running the `make test-python` test, because this
test uses small strings as the individual parts. A future test will
exercise larger objects.

A couple of notes on the Python. `StringIO` is basically a wrapper for
a string that acts like a file-like object. Keys in Boto can be iterated
(which streams the bytes from s3), which is how we calculate the Md5 in
`md5_from_key`.

This commit also does some general cleanup. I used `pylint` to guide me
in that. The old tests and the multipart tests are in separate classes,
so in the future they could be separate Make targets, if we wanted to
separate them for speed-of-running reasons. I also enabled a
commented-out test that now runs fine.
Add larger file tests from 'fake' file-like objects

Single uploads at the moment, multipart upload coming next.
See the docstring in `file_generator.py` for an explanation
of how it works.
Add multipart larger file tests

Be careful to watch how much space your Riak is using, especially
with n=3 locally...
Properly handle invalid max-keys parameter values to list objects requests

Fixes #460

Return a 400 Bad Request instead of a 500 Internal Server Error when a
max-keys parameter to a list objects request is specified, but is a
non-integer value. Also expand the list_objects_test module to test
this scenario.
Enable If-(Un)Modified-Since conditional GET in wm object resource
Enable If-(None-)Match conditional GET in wm object resource