implement basic buy and sell policies

The only thing really missing here is tests.  I'm not sure of a *good* way to effectively test this API other than creating a full fake mock resource exchange that calls these functions and carefully checks through returned portfolios, etc.  I would be happy to have help writing the tests.  I won't have much time soon ;-)