e2e: move Sauce credentials out of source code (part 3)

Fix path to credentials.js in .gitignore.
e2e: (re)allow reporter overrides
browser: allow for ML requirement that JSON keys be ordered

MarkLogic server REST validation presently requires that JSON keys
for search constraints be in a specific order, which is the reverse of
the order the browser was sending.

Reverse the order so as not to trigger validation errors from the
server.
e2e: local selenium starter fixes

* determine the correct path to selenium jar by search rather than
by protractor's configuration;
* do not attempt to parse an already parsed url;
* fix arity of seleniumLocal starter function so that it expects
(the console) args as the first argument and the callback as the
second argument.
e2e: cleanstart: flag stacktrace to enable dbTeardown failure analysis
e2e: defaults for `gulp e2e`

`gulp e2e` with no additional parameters defaults to:

* middle-tier=external
* browser=chrome
* selenium=local
* sauce=false
* to-file=false
* reporter=pretty

In other words, by default e2e tests are run against Chrome with local
selenium and assume that a middle tier is already running.

The report is written to the console only, and is in verbose
cucumber style ("pretty").
e2e: initial explore-by-tags .feature file

Create a few stub e2e scenarios for the explore-docs-by-tags feature.
browser: updates to account dropdown, contributor modal dialog

make display consistent with wireframes (votes cast, etc.)
fix associated tests
browser: updates to voting, vote acceptance

move vote-related logic from controller to model (ssAnswer, ssQnaDoc)
update button styles to be consistent with wireframes
make voting update the user's votes cast
browser: require user to be logged in to answer questions
browser: add icon for linking to stackoverflow.com
browser: remove mocks from application itself

Somehow, stray references to the mocks crept into the appliction.

Remove them so that the running application (as opposed to the tests)
doesn't rely on the mocks.
browser: tweak README

Tweak README.md for

* readability;
* improved documentation of when and when NOT to use elevated
privileges;
* add note on re-trying npm install due to recently-surfaced npm
timing bug;
* improve instructions for OSX users regarding ~/.npm directory.
browser: change "score" to "votes" in UI

"score" is confusing in a MarkLogic demo app because it has a specific
meaning with respect to search relevance. Use "votes" so that it is
clear that this isn't a relevance score.
browser: if stateParams.page is already a number, do not fail

If stateParams.page is already a number in explore state, do not attempt
to trim it and parse it. Fixes paging.
browser: show spinner in results area when searching

When a search is under way, set results count to zero and show a
spinner, but leave the header in place so that the sort controls
remain visible.
browser: emit criteria change if page is incremented/decremented

If incrementPage returns true, emit criteriaChange to trigger a new
search.
Changes to search, incporporating snippets and reputation.
fixes issue 156, catching failed requests and sending 400 to the browser
fixes page length issue with document search 226