Split out POST-specific logic from ApiFlowBase & add a new one for GET

Both should behave similarly, accepting input in the same way and
returning similar output.

This will make it easier to refactor ApiQueryFlow like what had been
done for the POST APIs.

Change-Id: Iaccc8ce7104d1c6a35477e432f58b0b2a06be722