shiftConfig: unify shift config module.

- remove the round shift module, which can totally replace by free jump table.
- remove the config too.
- add auto convert for all shift at beginning of application launch...
Kal:  adjust the Kal Tile to fix a minor issue
add draft version of lunar support
lunar lib
onejob: clear the static analysis warning.
clear warning about block.
project: add sslunar static lib to prepare for lunar support.

delete the support code before.
shift Scheduler: add lunar string for calendar  item.

only add a lunar string in tableview item.

todo:
- add lunar and not lunar holiday.
- add lunar display on / off in settings.
- (maybe) add lunar and display in holiday icon.
Settings: add lunar enable / disable shift in setting and clear the setting warning.

add enable disable lunar calendar in setting
and clear some code in shift profile VC.
Kal: add delegate when user click the title view.

prepare for support of pop out choose date.
Lunar: add limit check for SSLunar API.

To avoid the crash when user choose 2050 year.
SSKalDelegate:  pop a date picker view when user click the title view of Calendar.
Kal DateSource: add error notice when convert lunar failed.
update gitignore
i18n: update i18n for lunar functions.
fix crash issue on ios5
Kal: add support for holiday icon
Kal: add support for holiday icon
Add Holiday List checker and holiday list info in KalDataSource
shift: fix a issue application lunch too long time.

only do data migration once, it will take much of time.