Implemented protocol message filtering

- Removed defaults state, implemented general superstate inheritence.

- Allow client_initialize to set initial event.

- Remove distinction between internal/external states.

- Process incoming requests selectively per state, queuing unhandled
  requests in mailbox. This allows mixing of internal/external events
  in states.

- Added "*" event for unhandled protocol events.

- Updated README.md for new functionality.

- Renamed _setoption method to _set for simplicity.

- Simplified s_client_execute somewhat.

- Fixed illegal memory access on expired clients.