Can't use res.locals in express middleware
<!--
1. 请附带可以 **直接** 重现的 Demo，可以是压缩包、仓库、或者使用在线运行服务，否则直接关闭问题
2. 标题请简短，把内容写在 Issue 内容中，否则直接关闭问题
3. 不欢迎询问使用问题，否则直接关闭问题
-->
### bug repo
https://github.com/wenkanglin/express-app

### package version
* art-template: 4.12.1
* node: 8.0.0
* npm: 5.0.0
* express: 4.15.2

### bug复现
```
git clone https://github.com/wenkanglin/express-app.git
yarn install
```
浏览器访问`localhost:3000`，出现报错信息如下：
```
TypeError: target.hasOwnProperty is not a function
    at extend (E:\projects\express-app\node_modules\art-template\lib\compile\adapter\extend.js:30:24)
    at extend (E:\projects\express-app\node_modules\art-template\lib\compile\adapter\extend.js:31:33)
    at Object.Defaults.$extend (E:\projects\express-app\node_modules\art-template\lib\compile\defaults.js:91:16)
    at View.renderFile [as engine] (E:\projects\express-app\node_modules\express-art-template\src\index.js:26:35)
    at View.render (E:\projects\express-app\node_modules\express\lib\view.js:128:8)
    at tryRender (E:\projects\express-app\node_modules\express\lib\application.js:640:10)
    at Function.render (E:\projects\express-app\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (E:\projects\express-app\node_modules\express\lib\response.js:971:7)
    at E:\projects\express-app\app.js:48:7
    at Layer.handle_error (E:\projects\express-app\node_modules\express\lib\router\layer.js:71:5)
```

在`routes/index.js`中，注释掉这一行：
```
res.locals.message = 'hello express';
```
报错信息就会消失，正常运行

### bug原因
在`art-template/lib/compile/adapter/extend.js`源文件中，第27行代码：
```
if (target.hasOwnProperty(index))
```
这里出现情况：`target.hasOwnProperty`方法不存在。麻烦 @aui 帮忙修复一下，谢谢 。
