Scan for functions even without a .text section.

It's possible this may be wrong, but every game I've seen loads the funcs
in this area.  Sometimes there's data after the funcs before the stubs,
but it's better than no funcs.
Fix hash detection of branches to jr ra.

This makes it more correctly identify functions.
Correctly reuse symbol map entries when scanning.

Before we created one huge function in place of the old.
Look for downward jumps for elses when scanning.

Otherwise, we often end the function earlier than it should be.
Detect tail call when scanning functions.
Merge pull request #4704 from unknownbrackets/debugger

Improve function symbol detection