Exploration library release from V1 branch

Incorporated changes from comments in previous PR. Regarding cost_sensitive_function, I think this change was part of a merge from original vw code, we're not using it in MWT (and looks like the current VW code also has it in parser.cc). We probably want to make it in the main VW repo instead? I could add it here if needed, but it will make the PR more complicated (harder to later debug & trace problems caused by the PR).