NSDateComponents category for getting and setting date components via NSCalendarUnit values