usb: remove duplication in descriptor reading code.

The motivation for this is Sony needing to deal with >4KiB descriptor on
a UVC device. Let's factor out the callers here and combine them with
the code in libusbhost that also needs a limit. (I've separately bumped
libusbhost to 16KiB, which was the largest of the three places we had a
limit previously.)

Also remove some inappropriate <asm/*> includes --- that's never a good
idea, and they weren't needed anyway.

(#include re-ordering was insisted upon by a presubmit hook.)

Test: treehugger
Change-Id: I552d97adc2a4ade4b89b9fe6b3262e012fdb8602
5 files changed