strip utf-8 bom.

I can speak poor english. sorry...

thank you for maintaining this module.

utf-8 text file often has BOM. not always.
(http://en.wikipedia.org/wiki/Byte_order_mark)

load method is not strip BOM. when fp.read().
It occured JSONDecodeError exception.

this pull request code is based pep8.py code.
https://github.com/jcrocholl/pep8/blob/master/pep8.py#L1259


Why not strip in `loads` instead? I suspect that most usage is through that function, not `load`.