simulator: Removed IF routines for instructions

Technically, there are no instructions yet in the IF stage.
This is the first step towards making the IF stage more concise and easier
to comprehend.
simulator: factored out code for fetch logic.

* Method_cache.fetch() is invoked in every cycle, for easier support
  for standard I-Cache.
* fetch() in method cache now does what the comment says
* invalid_pc is thrown in simulation-core, not in method-cache
simulator: Exchanged misleading function names

In method-cache:
* is_available() now only tests availability
* assert_availability() initiates transfer if not available yet
That's what the function names suggest.