Make time tracking categories project specific
migrate each (non primary) project timetracking items to their timetracking categories
do not allow manage to delete time categories that are in use
API: Misc::escapeString can add quotes around strings
internal: move hardcoded time tracking categories to a variable: Time_Tracking::$default_categories
internal: Time_Tracking::insert take input from parameters
cleanup: there is no "else" after "return"

this cosmetic removes some extra indenting
timetracking: when creating new project always fill default time tracking categories
add keys to improve performance; use temporary tables
Time_Tracking::getCategoryStats(): flatten results
simplify 2bcb6ae, just remove DB_FETCHMODE_ASSOC
fix upgrade patch to match accurate project via issue id
time tracking: show category usage in admin panel
API: add ArrayUtil::collect('field', $array)

this simplifies finding specific "columns" from array
add missing prj_id to Time_Tracking::getAssocCategories calls

this is not complete fix, some calls need more work
xml_rpc: add missing prj_id to Time_Tracking::getAssocCategories call

this changes getTimeTrackingCategories method signature to require
issue_id parameter
Merge branch 'ttc_project'

make timetracking categories project specific. database migration
included