Fix many to many polymorphic pivot updates

`$morphType ` set by `setMorphType` is being included in queries from x->pivot->save() and the like. As the object is being added as a public data member on an object with an empty original, it is treated as an attribute and added as a column to the queries. As this column doesn't exist, the query will be erroneous.

https://github.com/laravel/framework/issues/3693
Make the Console\Command and Console\Migrations\BaseCommand abstract
Eloquent Pivot - Make sure raw attributes setting also set's original data

Fixes bug that calls db update from pivot models that haven't even changed
Eliminate array_merge() on insert call for performance
Respect DELETED_AT constant if set for soft deletes
Added Builder::rightJoin() and Builder::rightJoinWhere()
sync() triggered after 'saved' event, so listeners can detect dirty properties that got saved
Merge pull request #4584 from JamShady/pull-request/right-joins

Added Query\Builder::rightJoin()
Only create a "config" instance if only it not yet created.

On one of the project I'm working right now, I'm using both Config and Capsule component, since I register config service location first and then capsule, all the preloaded config is destroy on the config service location is converted to instance of Illuminate\Support\Fluent which is not ideal in my use case.

Signed-off-by: crynobone <crynobone@gmail.com>
Merge branch '4.1' into 4.2
Set default value on touch.
Merge pull request #4554 from jchamberlain/4.2

Eliminate array_merge() on insert call for performance
Merge pull request #4569 from jchamberlain/4.2-soft-delete

[4.2] Make Soft Delete Trait Backward Compatible
Merge pull request #4481 from colindecarlo/console-command-is-not-abstract

Make the Console\Command and Console\Migrations\BaseCommand abstract
Merge pull request #4288 from skovacs1/4.1

[Bug] Fix many to many polymorphic pivot updates
Add note.
Merge branch '4.1' into 4.2
Add updateOrCreate() function
Spacing.
Merge pull request #4603 from jmshelby/pivot-sync-original

Eloquent Pivot - Make sure original attribute values are being set on call to setRawAttributes