Improved app.set to handle object parameter

Many `app.set`s look a bit ugly.
It can be cleaner if app.set handles object parameter.

For example,

```javascript
app.set("db_one", "123.123.123.121");
app.set("db_two", "123.123.123.122");
app.set("db_three", "123.123.123.123");
app.set("db_four", "123.123.123.124");
```

above can be rewritten as below

```javascript
app.set({
  db_one: "123.123.123.121",
  db_two: "123.123.123.122",
  db_three: "123.123.123.123",
  db_four: "123.123.123.124",
  ...
});
```

In addition, this also enables below use case.

```javascript
// conf.js
module.exports = {
  db_one: "123.123.123.121",
  db_two: "123.123.123.122",
  db_three: "123.123.123.123",
  db_four: "123.123.123.124",
};
```

```javascript
// during app configuration
app.set(require('./conf'));
```