Make class_from_id() behave better.

While playing with the API I discovered that class_from_id() would
raise an exception if the ID is not a valid object ID format (whatever
that is). I was testing and gave it an ID of 'foo', which raised a
ValidationError exception. To fix this I've made class_from_id catch that
exception and return None instead.

I also walked all the places where class_from_id() is used in core
and made sure they properly error out when class_from_id() returns None.
Make class_from_value() behave better.

This is similar to 4e4d2080c64b377164f3e1682b43a2991c5da707, except for
being on class_from_value() instead of class_from_id().

I also fixed handle_unzip_file() to be explicit about the return value.
This makes it consistent with handle_unrar_file().
Merge branch 'master' into class_mapper_fixes
Merge pull request #213 from crits/class_mapper_fixes

Class mapper fixes