cpu: Limit the size of the decode cache

The decode cache can in some cases grow really large, which can even
prevent some systems from booting. This changeset adds a the ability
to limit the size of the decode cache and randomly prune a fraction of
the cache once it reaches its upper limit. The default behavior on
most architectures is now to allow 4k pages in the cache and prune 50%
once this limit is reached.