The EFCircularSlider & EFCircularTrig were adapted from commit e18214fe5f9413fa1470a8b3d3909578357bf743 of EFCircularSlider. The changes in subsequent commits on the primary branch will be ported across in subsequent commits on this fork.

Added EFCircularSlider & EFCircularTrig. These are a significantly refactored version of Legacy-EFCircularSlider intended to make maintenance and code readability simpler. They also support AutoLayout. They are more verbose, but should be easier for others to understand and modify. EFCircularTrig contains all related trigonometry calculations. EFCircularSlider deals primarily with the control itself, dealing in degrees, radii and center points where, for example, midnight on a clock would = 0°, 6pm = 180° and 9pm = 270°.

All existing functionality has been (attempted to be) retained, except for the following intentional modifications:

1) Zero point (after a full rotation) is minValue, not maxValue. This appears more logical as after a full rotation the filled portion is reset. If the filled portion is reset, the current value should be minValue. Consequently, this now makes sense for most time values - seconds, minutes, 24 hour time (tho not 12 hour time).

2) Frame of Slider includes full size of handle and slider line itself so that outside edge (particularly at value = minValue, maxValue/4, 2*maxValue/4, 3*maxValue/4) of handle or line is never clipped (see example ‘Double Circle handle’ and ‘Basic’).

3) Double circle completely hides the filled line beneath it. This was being approximated, now it is precise and also hides on the right hand edge of double handle when the user is at maxValue - 1 (see example ‘Double Circle Handle’ and ‘Time Picker’ around the handle origin point).

4) Improved label placement algorithm so that labels appear well placed at ALL different EFCircularSlider radii. This also prevents handle from ever drawing over the top of the labels.
Remove outer Labels added to EFCircularSlider during refactor. These do not work reliably.
Porting changes made on main branch in commit 94dd5216a1220aafcf06b995b2caff82fb6c4a27.

Ensure that labels can be drawn on iOS6 without crashing.
Remaining commits added to main branch after e18214fe5f9413fa1470a8b3d3909578357bf743:

b390cf5ef9cd380c5970a4a7238b1b2919c83041
  Ported across pointInside override to ensure touches only within circle are registered (supplemented to include handle too with a target of at least 44points * 44points).

7661b216e8178ffa5fc0ef84c3abcf73191caef4
  Ported across labelDisplacement property.
  Correction to position of labels is already included by refactoring of EFCircularSlider - updated EFWithLabelsViewController to make this more evident.

28db7f5702e091f34f5185cc8668681d90f8ee90
  The example added by this commit requires no modifications

bb9f55a0dc5b0375cc7b5469a8795634fd49ff14
  With refactored code, the line radius and position is closely tied to view’s size - this change can’t be applied to refactored code. Instead, use the following solutions:
 1) For auto layout, line will always optimally fill the constraint calculated size of EFCircularSlider control. If you wish line to be displaced, alter the constraints to make entire EFCircularSlider smaller.
 2) For non-auto layout, line will always be inset just enough from control edge to optimally fit line and it’s handle. If you wish line to be displaced, make the EFCircularSlider frame smaller.

Also removed innerDiameter & touchableInnerDiameter methods - these are not relevant to generic EFCircularSlider project.
Add demo EFDoubleCircleAutoLayoutViewController to demonstrate use of two EFCircularSliders in a single ViewController with AutoLayout.