Changed magnetic field calculations to correctly calculate rotations

Added support for multiple poles, not forcing a set of positive and negative magnets i.e. you can have a field of 7 positive poles, and 2 negative poles
Added support for polarity strength on the poles, i.e. poles can be weighted e.g. +2, +6, -1 etc.
Updated examples 1 and 2 to support new magnetic field class
Added 3 new examples to show multiple poles and polarity strength in use