Changed source type to object to allow a more descriptive source

@SignalK/owners 
@SignalK/contributors 

How do you guys feel about changing the "source" property everywhere to an object? It would allow us to make that more descriptive, e.g.:

```json
"source": {
    "label": "Stern-mounted GPS",
    "device": "/dev/ttyUSB0",
    "type": "NMEA0183",
    "parser": "nmea-signalk@0.1.3",
    "...": "..."
}
```

I've already made all the necessary changes on branch `fabdrol`, simply pull this request and it's in.