[IPHONEAPP-684] Calendar creation optimization

Be a bit more careful with the calendar objects. If we need to use one multiple times, grab a single instance, keep a strong reference to it and reuse it.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
[IPHONEAPP-684] Date formatter caching

Move the date formatter caching logic to the areas that need it instead of trying to cache them globally (the copy eliminates any performance benefit and not copying requires to much global knowledge to not cause issues).

Signed-off-by: Blake Skinner <bskinner@mit.edu>
[IPHONEAPP-684] Calendar object caching

Don't cache calendars like this; they are not updated and will eventually become stale. Instead, use CFCalendarCopyCurrent. It's toll-free bridged and is documented to returned a cached calendar if there is one available.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Don't try to create the time string by hand, let the date formatters handle all the hard work.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
General improvements to the date code. Get rid of as many constants as possible and let NSCalendar do the heavy lifting for us.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Use the (potentially) cached calendar instead of creating one from scratch.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Standardize the date format strings using our short date formatter.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Fixes an issue where the pull-to-refresh header text would be "Updated (null)" if this is the user's first visit to the module.

Signed-off-by: Blake Skinner <bskinner@mit.edu>
Merge remote-tracking branch 'origin/3.4-dev' into 3.4/iphoneapp-684