Realtime 2.1

Hi @timlinux, please review this.

What I have done:
- Address https://github.com/AIFDR/inasafe/issues/729
- Address https://github.com/AIFDR/inasafe/issues/695
- Moved some unittests in shake event to shake grid converter
- Coding Standards, PEP8, Pylint
- Make all the tests in test_shake_event pass
- Make all the tests in test_utilities pass (one failed test related to logging, which is coming from ```safe_qgis.utilities.custom_loggin```)
- Make all the tests in test_sftp_client pass
- Make all the tests in test_sftp_shake_data_pass
- Do monkey patching on the sftp_client so that the test_sftp_client and test_sftp_shake_data run local files instead of fetching production server
- Do monkey patching on the ftp_client so that the test_ftp_client and test_shake_data run the local files instead fetching from production server (even though we are not using it now)
- Make sure it works against QGIS 2.2

To do:
- Check if there are title and source information on grid and use it to automatically set the keywordsin shake grid converter