[IPHONEAPP-642] Fixes to the date strings

* Adjust the short time string so we respect the user's locale and timezone settings

* Get rid of the SECOND_PER_DAY constant and use NSDateComponents instead.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
[IPHONEAPP-642] Cache NSDateFormatters

We're going to be calling these methods a lot and date formatters are expensive to create so just create one and keep reusing it.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
[IPHONEAPP-642] Standardize the time zones

Each of the dates coming from the server is in the EST/EDT time zone so make sure we let the date formatter know that.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Don't need this, I'm blowing it away with the date format string.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
[IPHONEAPP-642] Standardize date display strings

Be consistent! If we are going to have a certain time format, make sure we always use it. No need to create a new date formatter when we already have one.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Keep a locally cached NSDateFormatter and mediate access to it via one of the background queues.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Use the CFCalenderCopyCurrent() function to get a (possibly cached) calendar instead of storing a thread-specific one.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Tweak the calendar handling so we are a bit smarter about grabbing the latest calendar once and then just reusing it

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Make sure we have a formatter for the time as well.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Test out an alternate approach for caching NSDateFormatters

Signed-off-by: Blake Skinner <bskinner@mit.edu>