The big degree() change.

* Rework all the degree-related methods to work with vector<string> and
  symbol_set::positions for the partial degree methods.
* Rework the way the degree methods are implemented in power_series.
  They are maybe a bit more verbose now but they should be clearer,
  they do not use the degree_commons stuff (which will go away)
  and compile with the Intel compiler now.

Pyranha still needs to be ported.