Rename fseekSetFailureCode()

Renamed fseekSetFailureCode() to fseekSetReturn() since the unit tests
for this project also use this mock to force a successful return, even
though the FILE pointer isn't valid (it is a dummy just used for
testing so that no real disk I/O has to occur.)
fgets() mock now rewinds after EOF

This project has code which reads through a GDB log file in two passes.
It reads it once to figure out what memory regions should be created
and then again to populate the simulated memory with values taken from
the log.  The modification I made to the fgets() mock has it return
NULL when it encounteres the last line in the test data and then
rewind to start again at the beginning of the test data.  This allows
a program under test to call fgets() until it gets NULL returned,
perform a simulated fseek() back to the beginning of the file and then
read it for a second time.
Add GdbLogParse() API

A user can use GDB commands to dump the contents of RAM and registers
when they are debugging a issue.  The results of these commands can be
logged and the resulting log is equivalent to a core dump that you
would see on other platforms.

The GdbLogParse() API can be used to read such a log file and use it
to initialize a IMemory object with the contents of RAM and a
RegisterContext object with the register contents.  These objects
can then be queried by GDB via the MRI core interface in CrashDebug to
allow post-mortem debugging at another location and/or time.