Major modifications to the client model

I made what I would consider major changes to the client model. The
ability to do heartbeating and manage the connection was added. The
code was run through gsl scripts and the newly generated stubs need
the code they require.