Cherry-pick of latest master commits.
[FEAT] (CCC Pie ValuesOptimizeLegibility) Basic implementation of the option, that works well when labels are placed over the pie slices...
[CHG] (CCC orthoAxisOrdinal V1) MArked the forgotten (due to naming similarity) option as a V1 option, so that it is removed when the user saves.
[FIX] (Custom Component Implementation) The implementation file was being included before the dependency scripts.
[FIX] (NPE click tabs) Clicking the CDE's Layout/Components/Data Sources tab buttons during the load of the editor would throw a NPE.
[FIX] (Component Tree NPE) A component with no properties is not a normal situation, but would, anyway, cause a NPE in the editor, making a probably difficult situation, of a possibly tampered cdfde file,  into a blocking one, in that the user wouldn't be able to edit the dashboard anymore.
[FIX] (DatasourcesCDAModel) This is the legacy id of the CDA datasource component. The current is DatasourcesCDA. This id was not being tolerated, and the component type would not be recognized.
[FIX] (Save Undefined Component Properties) The save operation would remove, after asking, all properties of a component of an undefined type. In this case preserving the component and all its properties is what should be done.
[FIX] (Log Level) Now calling Dahsboards.syncDebugLevel so that Dashboards.debug is detected from url parameters.
[IMP] (Save Load Strip Unstrip) Component and property marking, to denote abnormal situations, is as follows:
* Defined components containing undefined properties will themselves also be prefixed with "?", along with undefined properties.
* Components of an undefined type will be prefixed with "??".  All its properties will be prefixed with "?!".
[IMP] (Log Save Load Strip Unstrip) Improved logging.
[DOC] (BaseModel) Added JsDocs documentation to the BaseModel class an its derived ones.
[FIX] (legacyNames client) Ended up implementing the legacy names feature on the client as well, instead of just patching special cases. Now also updating legacy components' type attribute to the new value.
[FIX] (legacyName CDA datasource) Changed the LegacyIName of the CDA data source component to account for the "Model" suffix now being removed.
[FIX] (Olap Selector Entry) Fixed the entry category of the component to match that of other select components.
[FIX] (CdeRunJs meta) Some meta attributes that were relevant only to the server were being deliverd to the client and ended up in the dashboards' cdfde file.
Merge branch 'core-refactor' of github.com:webdetails/cde into core-refactor