Add test that breaks when None is returned in invoke()
invoke() returns None when function returns None
Merge pull request #14 from nathancahill/returnnone

Decide what to do with return None in invoke()
Add defaults(), find_key(), find_last_key(), for_in(), functions(), has() and is_<type>()
Use iteritems and setdefault
find_key() = find_last_key()
Change type to isinstance
Only import functions_
isinstance() instead of type()