Remove create_from* functor jump table

To make it easier to debug during runtime which method was
called remove the dictionary type -> functor mapping and
use a set of if statements instead. This makes it so that
if one of these methods fails we can gather more information
from the traceback than what was previously possible.

Change-Id: Iee2b0b90fe57734966d415c053bbc967335d5509
Merge "Remove create_from* functor jump table"