Tracking... for real!

Recurrently probes remote repositories
 - List references
 - Fetch changes
 - Keep track in refs/radar/{remote_name}/{branch_name}

Basic integration with current notficiation infrastructure
 - Configuration parsing

Successfully tested with

```
{
    "poll_interval": 5,

    "clients": [
        {
            "type": "repository",
            "path": "D:/Radar.TestRepo",
            "forks": [
                {
                    "name": "arthurschreiber",
                    "url": "https://github.com/arthurschreiber/radar.testrepo.git",
                },
                {
                    "name": "nulltoken",
                    "url": "https://github.com/nulltoken/radar.testrepo.git",
                },
                {
                    "name": "carlosmn",
                    "url": "https://github.com/carlosmn/radar.testrepo.git",
                },
            ],
            "snoozed": [
                "https://github.com/trollface/radar.testrepo.git",
            ]
        },

    ],

    "notifications": [
        { "type": "console" },
    ]
}
```
Having the tracer as a non-optional parameter on `Radar` and the `Client` classes seems odd.  Can this be a property that we set, with a default of a `NullTracer`?