BaseRecurrent and recurrent_apply_method

The scan related code is a typical boilerplate code
of which we had so much in Groundhog. This commit
introduces a way to get rid of it.
Merge remote-tracking branch 'rizar/rnn2' into rnn2-pep8
PEP8 fixes
Remove unused + fix possible unicode issue
Add todo
Merge branch 'rnn2-pep8' of https://github.com/bartvm/blocks into bartvm-rnn2-pep8

Conflicts:
	blocks/tests/test_rnn.py

I removed a function before merging.
Merge branch 'bartvm-rnn2-pep8' into rnn2
PEP8
Merge pull request #10 from rizar/rnn2

WIP: BaseRecurrent and recurrent_apply_method