Especifique um tamanho menor para o seu e-mail:
$table->string('email', 250);
Qual é o padrão, na verdade:
$table->string('email');
E você deve ser bom.
Para o Laravel 5.4, você pode encontrar uma solução neste Laravel 5.4:A chave especificada era um erro muito longo, Laravel News publicar:
Conforme descrito no guia de Migrações para corrigir isso, tudo o que você precisa fazer é editar seu arquivo AppServiceProvider.php e, dentro do método de inicialização, definir um comprimento de string padrão:
use Illuminate\Database\Schema\Builder;
public function boot()
{
Builder::defaultStringLength(191);
}