Fix errors if not all nodes fit into cache

In the previous commit, .prepare_intarray was changed to only run in append
mode. However get_node_list, which is needed during full import if the cache
isn't big enough to fit 100% of nodes in, was part of .prepare_intarray instead
of .prepare
Add a (broken, disabled) test for non 100% node cache hit ratio

To test the node retrieval from database during initial import, add
a test case for which not 100% of nodes fit into memory cache.

The minimum cache size of 1MB is allready to big in optimized mode.
In dense mode, things are sufficiently inefficient that even liechtenstein
needs more than 1MB of node cache.

However, --cache-strategy=dense appears broken at the moment. It gives the
wrong geometries, likely due to wrongly retrieved nodes. This needs fixing
before we can activate this test.