J'ai eu le même problème. Je viens de remarquer la note suivante tout en bas de la Laravel Schema docs :
Pour moi, dès que j'ai défini mes champs de clé étrangère comme tels :
$table->integer('author')->unsigned();
Je n'ai eu aucun problème.
EDIT :Assurez-vous également que les champs de la table étrangère sont déjà créés, sinon cela risque d'échouer avec la même erreur.