fix the bug findAndCountAll not working on postgresql.

copy `where` array, avoid changed by internal.
Merge branch 'master' of https://github.com/sequelize/sequelize
add test case for `does not modify the passed arguments - count`
add test case for count `does not modify the passed arguments`
fix copy/paste mistake
remove side effect in Util.format to fix bug `some function will modify passed arguments`.
Merge pull request #899 from hackwaly/master

fix the bug `findAndCountAll` not working on postgresql.
Don't clone options in find and findall, since this is taken care of in Utils.format
Update changelog.md
Update query-interface.js

fixes a TypeError that occurs if a 'rawSelect' query does not return a row (data is null).

I discovered the problem trying perform a `Model.count()` in combination with a `group` option on a MySQL database,MySQL does not return a record for query such as this:

```sql
SELECT 
    count(*) AS `count` 
FROM 
    `SomeTable` 
WHERE 
    `category_id` = 1
GROUP BY 
    `my_grouping_field`
```

In Sequelize the previous query would be done like so:

```js
SomeTable.count({
  group: 'my_grouping_field',
  where: {
    category_id: 1
  }
});
```

assuming the `category_id` WHERE clause returns zero records you end up with the following TypeError:

```bash
TypeError: Cannot read property 'count' of null
    at null.<anonymous> (some-project/node_modules/sequelize/lib/query-interface.js:314:28)
    at EventEmitter.emit (events.js:117:20)
    at null.<anonymous> (some-project/node_modules/sequelize/lib/dialects/mysql/query.js:32:14)
    at Query.Sequence.end (some-project/node_modules/mysql/lib/protocol/sequences/Sequence.js:66:24)
    at Query._handleFinalResultPacket (some-project/node_modules/mysql/lib/protocol/sequences/Query.js:139:8)
    at Query.EofPacket (some-project/node_modules/mysql/lib/protocol/sequences/Query.js:123:8)
    at Protocol._parsePacket (some-project/node_modules/mysql/lib/protocol/Protocol.js:169:24)
    at Parser.write (some-project/node_modules/mysql/lib/protocol/Parser.js:62:12)
    at Protocol.write (some-project/node_modules/mysql/lib/protocol/Protocol.js:36:16)
    at write (_stream_readable.js:557:24)
```
Add #906 to changelog