Merge from upstream.

 * Pull out appId fetching into own class.
 * Document external helpers in README
 * Only send INIT to shared-access devices (currently HID)
Whoops, regression: "Pe-release" got back in here. I missed that, sorry. I'll send a CL.