[5.0] Automatically Resolve Migrations Dependencies

This one is to automatically resolve:

    class CreateUsersTable extends Migration {

	    public function __construct(ClasName $class)
	    {
		    $this->class = $class;
	    }

        ...
    }

@GrahamCampbell, before you say anything, there was a bunch of spaces before Filesystem:

	public function __construct(MigrationRepositoryInterface $repository,
								Container $container,
								Resolver $resolver,
								Filesystem $files)

So I replaced them all with tabs.
You're meant to use `ContainerContract` anyway. That's Taylor's standard. Why did you change it to interface?