Initial commit.
Adds initial tests.
Adds licensing.