New feature #7810 Implement max/min date for date question

DEV: implemented min/max dates for datepicker in Date question
DEV: supported formats/dates:
DEV: - fixed dates in format YYYY-MM-DD (e.g. 2013-08-24)
DEV: - {qcode}: reference to another datefield
DEV: -      supported on same (dynamic, JS) and on previous pages (PHP)
DEV: -      honors survey date format and date formats in
DEV: -      advanced attributes of a date question (mixing date
DEV: -      formats in one survey should be no problem)
DEV: - {expressions}: only on following page
DEV: -      Things like date from previous answer+3 days as min
DEV: -      for another question is possible using eg.
DEV: -      {date("Y-m-d",strtotime(departure)+3*60*60*24)}
DEV: -      on a following page
DEV:
DEV: I recycled the dropdown_dates_year_min/max fields
DEV: to avoid cluttering up the user interface. The fields still
DEV: take fixed years in format YYYY for backward compatibility,
DEV: so old survey will work as they used to.
DEV:
DEV: This also fixes #7981 (bug in jquery UI) because we do not use
DEV: the yearrange function of the datepicker anymore,
DEV: which is affected by this bug.
DEV:
DEV: Tested in FF and Chrome
renamed dropdown_dates_year_min/max

need to make DB-conversion and add to import_helper
Update DB for name change of attrib fields
Make sure min/max year from old lss-files are imported
fix for year=0 in dropdown-boxes

When dropdown boxes are used and a min/max value refers to an empty
variable
or zero value, default range is now used
Fixes issue #8065: Answer code conversion to '0'

DEV: when exporting to CSV/EXCEL etc. and conversion
DEV: of Y or N to '0' was chosen, values were wrongly
DEV: exported as 'missing values' (empty)
DEV:
DEV: nasty php typing problem....probably same problem
DEV: with issue #8039
small change to also honor 'false'

thanks to Shnoulle
Fixed issue #8039: Problems with subquestion code '0'

DEV: Both described issues were separate incidences of
DEV: the same thing: php empty()/($var) treat the '0'
DEV: as not set or empty.
DEV: isset() on the other hand also returns "" as true.
DEV: I am afraid this problem may be present more often in
DEV: the code. Maybe implement a custom function
DEV: is_set() which also returns FALSE for "" but TRUE for '0'
Fixed support for prefilling using questioncodes.
Dev In case of duplicate question codes (which should not be used anyway),
the prefilling will fill each question.
Fixed #8093: Error on R-export (syntax) while running as a plugin
Fixed #7979: Question Group order not saved
Dev Changed cancel button in plugin settings to be a link instead.
Dev Added support for links to SettingsWdiget.
Merge branch '2.05' of github.com:LimeSurvey/LimeSurvey into 2.05
Fixed #7885: Multiple issues with excel/tsv export and subsequent import
dev: Fixed for 2.05 only
dev: it would be best to solve backward compatibility in the model so we don't have to do it for all import/exports separately, check my comment in the survey.php to keep track of changes
Merge branch '2.05' of https://github.com/LimeSurvey/LimeSurvey.git into 2.05
Fixed #8093: Error on R-export (syntax) while running as a plugin
Git Ignore local settings files
dev: All routes ending in _json are excluded from csrf protection now
dev: a more consistent look & feel for plugins / pluginsettings
Minor error in menu bar @ plugins