#410 Artifact cleanup extension

GoApiRequest will be constructed by plugin when plugin wants to communicate with Go, GoPluginApiRequest will be constructed by Go when Go wants to communicate with Plugin. I thought it would be better to keep them separate, so that if we need to make any changes either of them, we could do it without effecting other.

I agree we need Javadocs fir all new go-plugin-api classes. I was planning to submit Javadocs and plugin documentation together as separate pull request once implementation is finalized.