AGPUSH-1102 : add external config support

Inspired by the Quickstart backend, here an new way to create a Sender instance using an external config file.
For Master only.

@danbev @edewit : Can you review/merge ? 

Wouldn't it be nicer to use the pushConfiguration object here as well?
```java
public Builder(String rootServerURL) {
   if (isEmpty(rootServerURL)) {
      throw new IllegalStateException("server can not be null");
   }
   this.pushConfiguration.setServerUrl(!rootServerURL.endsWith("/") ? rootServerURL + '/' : rootServerURL);
}
public Builder(PushConfiguration pushConfiguration) {
   this.pushConfiguration = pushConfiguration
}
```
instead of copying it to the 3 fields?