changed {} to None as default function parameters and more

It is advised not to use mutable object (such as {} and []) as default
parameters to avoid possible bugs. See
http://satyajit.ranjeev.in/2012/01/12/python--dangerous-default-value-as-argument.html
for details.

Also fixed a typo and removed unused imports