Enforce the maximum ad length of 32 bytes

`setAdvertisingData()` and `setScanResponseData()` will return with an error if the passed data is too large.

@johnnyman727 
`bleadvertise` isn't used any where in the library for serializing an ad. Only in `bglib` for parsing. So there shouldn't be anything to catch. That's only if it's imported separately and used to manually create a packet that is too large. `messenger.js` should never have to catch en error here since it checks the length before calling anything. The only way around that is if someone calls messenger directly, in which case we need to check inside messenger before `execute` is called.