resolve() no-ops on all non-iterable objects

per the comment on resolve(), some Targets depend on non-Target
objects, e.g. JarDependencies. To keep resolve() as robust as
possible, it will only wrap string literals in Pants() targets,
recurse on iterable arguments' elements, and no-op on everything
else.