More, more, more AGI functions and unit tests

Change-Id: I72a4fcbf540df60ff147804556ee1e29d5312d88
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>