Rename the revision decorator and compare correctly against nil

Rename the revision decorator to make it a bit less
ambiguous.

When a revision is compared against nil, all attributes
from the current revision should be returned as changes.
Sort revisions by created_at descending

This includes a fix for the Need unit test where
the timestamps don't return in the same order
consistently.
Add a need decorator to return pairs of revisions

Add a decorator method to return revisions as pairs 
with their previous revision for comparison.

This didn't feel like it was a model concern, nor
did it fit cleanly to be a controller concern whilst
maintaining a single need parameter to the 
NeedPresenter.

This also includes a new FactoryGirl factory for
a need revision.
Return revisions in the response for a single need

Return the author details, action type, timestamp 
and a hash of changes for each revision in the
response for a single need.