Use mustache for search result rendering

So that we can have the same templates for ajax responses and responses
rendered on the server use the shared mustache gem.

Setup to_hash methods on the presenters to return hashes which can then
be used by mustache to render the template.
Update the JavaScript to work with mustache

Use the new json coming back combined with the mustache template to
render the results when they come back.
Add some tests for the new presenter methods
Update tests for new json

Also updated the json to use result_count_string for a pluralized string
as the result_count is needed for the analytics ping.

Removed requirements for type in the class as we aren't using for
styling and it isn't functionallity needed.
Remove empty helper
Move display type for some formats to attributes

Removes confusion between attribute and attributes and is the correct
place for it.
Add tests for government result sections
Whitespace
Remove unused variable
Whitespace
Rename attributes -> metadata in presenter

It makes its contents clearer. Leave the attributes class on the html as
that is shared with the non-unifed html.
Merge pull request #584 from alphagov/mustache-search

Use shared mustache templates for unified search

https://www.pivotaltracker.com/story/show/70377946