am7xxx: cache device info in am7xxx_get_device_info()
Request the actual device info from the device only when there is not
a cached version of it already.
This serves two purposes:
1. Cover the case when some firmwares provide useful device info
only under some conditions and spit out bogus data instead when
these conditions are not met.
2. Speed up am7xxx_get_device_info() as the USB communication is
performed only once. AFAWN the device info does not change
throughout the life of an am7xxx_device.