Added saving and saved model events
Fix addSelect to work with multiple columns via func_get_args.
Fix transaction handling for Microsoft SQL Server.
Tweaks to how migration autoloads are handled. Autoload command.

- Added new `dump-autoload` Artisan command that runs optimized for app
and all workbenches.
- Refactored post `migrate:make` hooks to dump autoloads for
workbenches.
All Eloquent relation types should use fully qualified column names.
Detach before attach to prevent uniqueness constraint conflicts

Example:
You have a uniqueness constraint on id and position on the pivot table. You have a list of items and each items has a position in the list hence the position field on the pivot.

You would like to remove one item from the bottom of the list and then add another one in it's place. You do this in a form, and get back a json object that has the new desired list of items. You would now like to sync this json object up with the db so you use sync(). Now sync() will try to attach a new item with a position of 3, but that position already exists and an exception is thrown.

By first detaching the old item in position 3 and then attaching the new one this conflict is removed.

Signed-off-by: Andreas Heiberg <git@andreas-heiberg.com>
Merge pull request #724 from AndreasHeiberg/bug-sync-uniquenesss-constraint-conflicts

Detach before attach to prevent uniqueness constraint conflicts
Added `DB::listen(Closure)` method which may be used to listen for database queries.
Merge pull request #699 from JonoB/master

Added saving and saved model events
Fix Eloquent save events.
Added `Model::findOrFail(id)` and `firstOrFail` methods to Eloquent. Throws `ModelNotFoundException`. Can listen in your apps and return 404 repsonses if you want.
Fix double table prepend.
Fix typo.
Fix some issues in Eloquent.
Merge branch 'eloquent-touch'
Work on many-to-many touching.
Working on tests.