Add fill_diagonal_offset()

Related to issue #1688.

Add a new function theano.tensor.fill_diagonal_offset(a,val,offset) which is currently only work for matrix  as well as the corresponding unit test.

However, as the input 'offset' is an integer, grad of it is undefined. How can I write an test_grad of an undefined grad?( the test can not past now because theano.gradient.grad_undefined will raise an exception ) 
I see. You did as it is done in other part of this file. This file contained bad example of what to do. What should be done:
```
fill_diagonal_offset = FillDiagonalOffset()
"""
Docstring after the variable.
"""
```

Can you correct this in the file? If you don't do it in the next few hours, I'll merge this PR and make the correction in another PR.

thanks for your work.