Made device() accessable - pass an optional UserAgent
- device() was moved from the Session model to the HumbleGuard, and then used in the model
- pass an optional User Agent to device() if you don't want it to parse the current delivered one
- Added a bunch of return types