Add caching to pattern enumeration

Inventory._hosts_in_unenumerated_pattern()
Solving the TODO: cache this logic so if called a second time the result is not recalculated

The patch in 8fc46a3a5a286bee5e429b921ef8af9ea7ecbc31 triggered lots of calls to the __get_host function, making non cached pattern (re-)enumeration slowing down play execution.

Before that patch, a reference play (with only skipped tasks) took about 6s; after it took about 40s.
This patch brings this back to 3s :-)