linux-user: User-mode .MIPS.abiflags and FRE support

.MIPS.abiflags support has several features:

1) The .MIPS.abiflags segment must be parsed for both a program and
   its interpreter.
2) A floating-point mode is calculated from this information and
   illegal combinations are rejected.
3) Two new PRCTL options are supported to give runtime control
   over floating-point modes so that a dynamic linker can change
   mode depending on what libraries get loaded. The PRCTL option
   numbers are not yet reserved in ToT kernel
4) User-mode FRE support is required to emulate what the kernel
   RI handler would do.

Signed-off-by: Matthew Fortune <matthew.fortune@imgtec.com>
Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
target-mips: Correctly enable MSA and FR for user-mode

The FR bit is a critical part of ABI handling as it dictates the
size of floating-point registers.  For user-mode emulation each ABI
has a well-defined requirement for FR to be 0 or 1.  Until the
addition of FPXX ABI extensions O32 could only execute with FR=0.
With .MIPS.abiflags information then some applications can run in
FR=1 mode. Therefore FR must not be forced to 1.

MSA can however be unconditionally enabled as it will remain unusable
until FR=1.

Signed-off-by: Matthew Fortune <matthew.fortune@imgtec.com>
Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>