Text generation refactor and RETRO text generation implementation
# What does this PR do ?

Refactor the text generation code to be model independent by using different inference strategies.

Added the GPT inference strategy and prompt learning inference strategy and verify they are working properly.

Implement the RETRIVAL service that can provides retrieval results on the fly.

Implement the RETRO model text generation and fix a default bias problem. 

