Add support for tags

Like it says in the summary - adding initial support for tags. I'll probably go back and add filtering on tags to the List* functions too.