This commit introduces support for using `embark.config.js` to calculate the embark
configuration object, that is otherwise provided via `embark.json`.
If an `embark.config.js` file is present, it will be used over the `embark.json` file.
The `embark.config.js` module needs to exports a function that can be asynchronous and
has to return or resolve with an embark configuration object:
```
// embark.config.js
module.exports = async function () {
let config = ...; // do lazy calculation of `embarkConfig`;
return config;
}
```