==============================================
This commit is intended to allow to early merging to master of BSpline support. Parts of it will be reverted when a more advanced solver implementation is available.
The intention is to have an advances solver implementation in the future.
This commit cripples part of the potential functionality, but allows a very simplistic solver structure (no de Boor, no recursion).
In particular:
1. Knots are not solver parameters and the solver acts as if such a parameter did not exist.
2. For non-periodic case, the start point and the endpoint coincide with the first pole and the last pole respectively. This is only valid under certain first and last
knot multiplicity. If the user manually changes this multiplicities, the sketch will remain unsolved. For the periodic case, end and start points are not even solver
parameters as an end and start point is an ilusion and we really do not care where that happens. It is not reasonable to ask the user to constrain where this point should
be.
===================================
An additional index for internal geometry elements is introduced, to be stored only Internal Aligment constraint and backwards compatible.
3rd party icons will be reviewed after alignment of all other icons
See [this forum discussion for more on this issue](http://forum.freecadweb.org/viewtopic.php?f=23&t=19556&p=151812#p151812)
I'm mainting this as it's own commit for easy reversion in the future should we decide to update 3rd party icons
=============================================================
Internal alignment of BSplines requires an extra index for unbounded same-type internal geometry (poles, probably also in the future knots).
Value shall not be used, as it interferes with the update mechanism for constraint values.
An alternative solution would be to add another int to all the constraints just for this case.
As internal geometry does not use Third, it seems reasonable to reuse it for this indexing purpose.