add somagic and somagic-tools

Closes #28355.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>