Show API key in --action=show
Print out whether or not user can access non-public API
Purge commented out code
Remove extra colons
Merge branch 'master' into json_error_handling
Explicitly set action roles for each of the controllers' actions at the top of the file because:

1) using the "__PACKAGE__->config( action_roles => [ ... ], )" led to Catalyst applying API key authentication action roles to "sub end()" - which takes care of error reporting - so errors weren't being reported correctly (in JSON)
2) it's (hopefully) better to see which actions are "public" / "non-public" in a single place
When reading response from Solr, differentiate between LWP, server and client errors; if Solr returns a JSON-encoded error message, print it including the query params
Pass HTTP error code further to the client
Revert "Pass HTTP error code further to the client"

This reverts commit 997115e3cefdfc02f46b391cd6a353a0c70c7f8a.
Change the default "solr_select_url" to an array because that's how it's defined in the example in mediawords.yml.dist
Make MediaWords::Solr::query_encoded_json() support an optional $c (Catalyst context) parameter through which the subroutine will set HTTP status codes for failed Solr requests
Merge branch 'master' into json_error_handling
Rename CRF::CrfUtils ==> Mallet::CrfWrapper.
Remove lib/CRF since these libraries have been moved out of the source tree into an external module.
Install Mallet::CrfWrapper from dist branch to avoid install errors due to indvertant changes.
Install an updated version of Mallet::CrfWrapper until David accepts the pull request
Move back the CRF web service wrapper script
Use David's repository of Mallet::CrfWrapper
Merge branch 'master' into json_error_handling
Install Mallet::CrfWrapper from Linas's repository until David creates release tags on GitHub