Pull changes to collect domain fronting dialing stats

Closes getlantern/lantern#1913  Includes changes that require changes on the Java side, see https://github.com/getlantern/lantern/pull/1921
Good question.  It does matter, because we don't want to slow down whoever is submitting stats (you can think of the stat submitting as analogous to logging).  The buffer has to be big enough to catch updates while we're blocked on sending a report to statshub.

I don't like spawning goroutines in the postUpdate function because in the degenerate case (where we're constantly blocked on submitting stats) we will end up spawning an unbounded number of goroutines.

Instead, I've done this inside of the postUpdates function:

```go
select {
	case updatesCh <- update:
		// update posted
	default:
		// drop stat to avoid blocking
	}
```

And I've increased the size of the buffer.  This has the benefit of keeping our backlog bounded, and also not blocking clients if we get too far behind.