Update biweight_location and biweight_midvariance 

Update biweight_location and biweight_midvariance  for handling small sample sizes.  I noticed some strange behaviour in biweight at small sizes and realised I had swapped two lines that I shouldn't have when implementing the original code.  I have now tested this against two independent codes and returns results as expected.  As such I added two functional tests to make sure that this results can be tested.   

I also did some minor pep8 cleaning on test_funcs.