BUGFIX: length_of_indexer() can return incorrect values that break slice assignments
... assignments.

BUG DESCRIPTION:
length_of_indexer() (defined in pandas/core/indexing.py) returns incorrect result
if (stop-start) is not divisible by step. As a consequence some slice assignments
throw exceptions. Affected panda versions: 0.16.x, 0.15.x, current git master.

HOW TO REPRODUCE:

import pandas as pd
sr= pd.Series([-1]*6) # series with 6 elements indexed from 0 to 5.
sr[0::2]= [0,2,4] # setting even elements works fine!
sr[1::2]= [1,3,5] # setting odd elements results in error:

.../pandas/core/internals.pyc in setitem(self, indexer, value)
    568             if is_list_like(value) and l:
    569                 if len(value) != length_of_indexer(indexer, values):
--> 570                     raise ValueError("cannot set using a slice indexer with a "
    571                                      "different length than the value")
    572
ValueError: cannot set using a slice indexer with a different length than the value

Looks great to me, thanks! Could you please add a brief bug fix note to what's new for 0.16.1?
 @shoyer : Stephan, I just added a whatsnew bugfix note you requested. Please, pull. --Leo
