Devices

I added support for devices. Cool with me pulling it? Any thoughts? Just copied the same style as the gem currently.

Soon, I'd like to make os and device parsing lazy so it only happens if you actually use them, but that is a different pull request.