Renamed Activities Table to StreamItems table
StreamItemsContract and initial test
More table source tests (users, sounds)
JoinInfo added in place of plain tables for determining joins

- allows you to use different foreign key columns for the same table
Full StreamItem join logic added

- column join data now operates on sets to keep track of multiple join dependencies (e.g. embedded users in embedded sounds inside stream items)
Use arrays to make optional params easier
Created SoundView table
Switched StreamItemsContract to use SoundView for column conflicts
switched to fest assertions in streamcontracttest
Basic StreamItem insertion working
StreamItem Partial insertion tests
Basic stream item persistence
Persist user in stream item
Sounds persisting in streams
Remove unused functions
StreamStorage class with getOldest/NewestUUID
StreamOperations created with fetchRecent

this will be used to recursively fetch stream items until we catch up or a max isreached
StreamCollections now mergeable
StreamOperations now returns StreamCollections and not iterables
Added stream clearing to stream storage

- custom assertions for content size
- moved to left joins for origin less stream items