ENH: Use xlrd >=0.9.0 for both xls/xlsx, sidesteps GH1629
Ssers with xlrd<0.9 will get an error message.
unlike openpyxl, xlrd parse() leaves type inferencing to
TextReader, which looks at the first values only, but this
was already the behaviour for .xls files, so small price to pay.

Removed much code duplication, and xlrd 0.9.0 added py3
support (courtesy of @takluyver, Thanks!), though that's not
tested yet.

Also, closes #1629

The bool issue might be related to type sniffing behaviour raised in #3171 
 @wesm, yay or nay on upping min ver of xlrd to 0.9.0? how about 0.12 with some 
added testing for py3 support?
