Refactoring and more tests in Illuminate\Database\Eloquent\Builder

This is a rewriting of : #3095. Since december, some changes have been made in this corner and some tests of my original pull requests have been rewritten by @crynobone and merged.

There is a lot of small changes to make this test class more consistent and readable. I also use Mockery for mocking protected method because it's now supported by Mockery in Laravel.

I have added tests for `pluck`, `chunk` and `lists` methods.