Improve "Porting" guidance for tap developers

The porting guide is not very good. Specifically, it does not describe the exact contract that the SDK expects, which methods or overrides must be overriden, how to migrate State-management code, etc.

For reference, here is the current doc: https://sdk.meltano.com/en/latest/porting.html

We should expand the available docs and collect feedback from one or more developers who have been through the process.

Edited by AJ Steers