fix flaky tests

Python 2.6 does not handle float error well as 2.7+

Author: Davies Liu <davies.liu@gmail.com>

Closes #1910 from davies/fix_test and squashes the following commits:

7e51200 [Davies Liu] fix flaky tests
SPARK-2830 [MLlib]: re-organize mllib documentation

As per discussions with Xiangrui, I've reorganized and edited the mllib documentation.

Author: Ameet Talwalkar <atalwalkar@gmail.com>

Closes #1908 from atalwalkar/master and squashes the following commits:

fe6938a [Ameet Talwalkar] made xiangruis suggested changes
840028b [Ameet Talwalkar] made xiangruis suggested changes
7ec366a [Ameet Talwalkar] reorganize and edit mllib documentation
Basic skeleton.
New Netty implementation.
Completed protocol documentation.
Connected the new netty network module with rest of Spark.
Made everything work with proper reference counting.
Added back missing files.
Remove unused clone() in BlockFetcherIterator.
Added commit count.
Created server and client packages and moved files there.
Added some basic test cases.
Added missing test files.
Beefed up server/client integration tests.
Fixed block mgr init bug.
Added exception handling and test case for BlockServerHandler and BlockFetchingClientHandler.
Added test cases for BlockHeaderEncoder and BlockFetchingClientHandlerSuite.
Added debug message to help debug Jenkins failures.