Remove O(N^2) algorithm from repeated field extraction.

In messages with many values for a repeated field, lists:reverse/1 is
called many times, resulting in large amounts of garbage and an
unreasonable amount of time spent in decoding. This moves the list
reversal until the end of the decoding, only once per repeated field.
Merge pull request #51 from basho/sdc-lists-reverse-profile

Remove O(N^2) algorithm from repeated field extraction.