ICache: Allow for >2 ways

Allow for more than 2 ways in instruction cache. The
least-recently-used (LRU) replacement strategy is used to select which
cache block to replace on misses.

All values are allowed for OPTION_ICACHE_WAYS.