initial - new role calcs
new preference calculations for roles
skill and preference refactoring, role calc change

- moved the ecdf skill calculation inside skills and stored the value
for reference
- stored the matches per role with preferences for reference
- removed the last division when calculating preference ratings for
roles
labor optimizer integration with new roles

- updated the labor optimizer to use the new role ratings
- tweaked skills to return a proper value if the skill has no level.
this is exclusively used in the optimizer when creating a 'fake' skill
only role when a labor is mapped to a skill, rather than a role.
overhauled to use a mixed method for roles

- uses an average between the two ecdf types for the aspects of a role
instead of trying to 'deskew' values. this was specifically a problem
with skills and preferences where large numbers of zeros or low values
are often present.
- additionally to test, role ratings are set to zero if the associated
skills in the role have no ratings. an example of this are nuns/priests
in the masterwork mod. the caste cannot learn skills (skill rate 0) and
so all roles containing skills are set to zero.
- role highest/lowest drawn values (red/black diamonds) are now no
longer an arbitrary number and are the top/bottom 5% of the ratings
skill fix, role fix, quality of life changes

- fixed the skill simulation bug which allowed it to return values > 20
- fixed a role calculation problem with preferences
- the orange border on equipment cells showing wear change opacity
depending on how bad the wear is
- the orange border on role cells indicating that there are dirty labors
associated change opacity depending on how many
- change the right click menus for grid view editing and role editing to
have more sections
- other minor refactoring and optimzations
column, butcher and ammo tweaks

- ammo in equipment/item columns is now grouped by type/material/quality
- all grid columns now correctly accept different background colors
- role cells with active labors will use a gradient depending on how
many of the associated labors are active
- non-butcherable creatures can't be butchered
- fixed the cell coloring/shading on some types of cells where it would
color outside of the cell
- squad names are shown in the optimizer log (was bugged)
- updated role calculations to use another new method to reduce the
severity when many low values are paired with high values (skills)
uniform ammo quantities

- revamped how the uniform and missing counts are calculated to use
actual stack sizes. this was primarily to allow comparison between squad
ammo assignment, and how much ammo an individual unit was carrying. can
still use some optimization though.
removed some custom colors from tooltips
role calc tweaks, cleanup

- modified the role calculations (again) to use an alternate
transformation method (again)
- attribute and skill ratings are calculated on unit load to ensure
they're only done once
- exposed more profession and caste information to scripts
- cleaned up the old role attribute/trait bin stuff
more cleanup, fix for role calcs on refresh

- fixed transformation variables persisting through refreshes
- moved the attribute calculations into where the unit role ratings are
calculated
- minor cleanup
typo, logging and attribute drawing

- attributes draw more cleanly using the new transformation methods
- changed the logging of all the role stuff to require -trace argument
- fixed armor typo
changed printing, fix for skill/pref role calcs

- fixed preference role calculations
- fixed skill role calculations
- changed all the statistical role info to DEBUG and upgraded all the
informative logging to INFO type
- set the default logging type to INFO instead of debug
persistent sorting across views

- maintains sorting between views by using a global key stored with a
dwarf. unfortunately the way the views work, it requires a bit of a hack
to use a modified hidden spacer column as the first column after the 0
(name) column
persistent sorting by groups

- rather than applying the same sorting to every view, the sorting is
maintained on a per group basis. eg. all views grouped by caste will
share sorting, all views grouped by race share another sort order, etc.
role calc tweak, persistent sorting fixes

- fixes switching between views when alternating sorting on the name
column and other columns
- fixes sort order after sorting on multiple columns, and then switching
views by saving the row position, as opposed to the actual cell sort
values
- fixed the sort indicator on the column headers not showing after
applying a global sort
- updated the role calculation threshold for when min/max on the >
median values is used
change how roles toggle multiple labors

- changed the behaviour when toggling multiple labors via a role cell
click. now it will toggle all labors on or off depending on how many of
the related labors are currently active or not
renamed the specific MW game data files
Merge pull request #24 from splintermind/experimental

Experimental