Group Configuration: create, edit, delete groups

**Ticket:** [BLD-1110](https://openedx.atlassian.net/browse/BLD-1110)

**Acceptance criteria:**
* Two Groups by default:
  * Both with 50% allocation
  * Default names Group A and Group B.
* Adding another group should reduce the allocations of the existing groups equally, so that all groups are equally allocated. (This should already be handled by the split_test module, but we should test to make sure this reflects correctly in the Group Configurations page.)
  * Default name of new groups should follow alphabetically: Group C, Group D, etc. 
* Group names should be editable. 
* Deleting a group should remove the group, reallocate the percentages equally between the existing groups. 

**sandbox:** http://polesye.m.sandbox.edx.org/ 

@andy-armstrong , @cahrens , @frrrances , @mhoeber , @explorerleslie please review.
To convert a number from one numerical system to another one we process by dividing the non-remainder part of the dividend by the desired base until the result is less than one.

>  And what if index <= -1? Should that be an error case?

In this case, we'll use just a reminder. It happens when `result.quotient` is equal 0.
I left comments about that.