Tenho tido o mesmo problema. Acabei de notar a seguinte nota na parte inferior dos documentos do esquema Laravel :
Para mim, assim que defino meus campos de chave estrangeira como tal:
$table->integer('author')->unsigned();
Eu não tive nenhum problema.
EDIT:Além disso, verifique se os campos da tabela estrangeira já estão criados, caso contrário, isso pode falhar com o mesmo erro.