Add persistence support to gdb-server

When started with -m, or connected with 'target extended-remote', the
GDB server will not terminate upon disconnection from GDB, instead it
will begin listening for conenctions again.

Starting with extended-remote also has the advantage of allowing 'run'
to be used to reset the target and begin again.  Unfortunately, 'start'
is not working properly, as it does not send a reset packet (R), so it
complains when it tries to access memory before it is connected to the
target.
Merge pull request #132 from prattmic/master

Add gdb-server persistence
Move persistence flag to st_state_t

It makes sense for it to be with all other state data.  This meant
passing the entire state struct into serve.