new filterable post_types function and cleaner get_post_types() usage

addresses issue #4