Simplify constructors in Prompt and Message subclasses.

Change Generation access from AiResponse in AiCilent.generate(:String).

Include unit tests for AiClient.

Cleanup compiler warnings.

Comment From: tzolov

LGTM

Comment From: tzolov

Rebased and merged at: 070c924e71dab981d693409b68544470557af796