Added LineItem, tests for LineItem, and broke out the complicated bits to an ApruveObject.