Fixed bug introduced by pep8-cleaning of mlp.py

Apologies; in the previous pull request, I had introduced a bug by splitting long lines of the form:

    updates[W] = updated_W * (desired_norms / (1e-7 + row_norms)).dimshuffle(0, 'x')

to:

    unshuffled = updated_W * (desired_norms / (1e-7 + row_norms))
    updates[W] = unshuffled.dimshuffle(0, 'x')

This PR fixes the bug using the following split instead:

    scales = desired_norms / (1e-7 + row_norms)
    updates[W] = updated_W * scales.dimshuffle(0, 'x')

In addition to the bugfix, this PR also pep8-fixes costs/cost.py, and adds some items to .gitignore.