Support numpy arrays for input in Layer.get_output

Addresses #60, and also adds missing documentation for `get_output` and `get_output_for`.
You don't pass `*args, **kwargs` on to `get_output` here. These are provided mostly to be able to manipulate the behavior of `get_output_for` (i.e. the `deterministic` for noise injecting layers like `DropoutLayer`), and in this case `get_output_for` would never be called, so I guess it's not really necessary here? I'm not sure :)