Allow USB descriptor strings to be defined in boards.txt (redux)

(This is a reworking of #1421 when I realised a much more elegant way to do it.)

As per discussion list:
https://groups.google.com/a/arduino.cc/forum/?hl=en-US&fromgroups#!topic/developers/Ml_djoFXyPU

I'll reply to that thread with more detail.