Added Bandit UCB1 implementation

********* PEOPLE *************
Primary reviewer: @sc932 

Reviewers: @suntzu86 

********* DESCRIPTION **************
Branch Name: norases_354_ucb1_bandit
Ticket(s)/Issue(s): #354 

********* TESTING DONE *************
make test
make style-test
```|S256``` creates a fixed-width string of 256 chars. If you give a longer name, it will be truncated without warning.
I'd prefer:
```
allocations = numpy.array(arms_to_allocations.itervalues())
winner = whatever
return arms_to_allocations.keys()[winner]
```
note that while the internal order of a dict is unknowable a priori, the order presented by the various iterators and list-ify methods is always the same so long as the dict is not modified btwn calls to these methods.