* "First-class item" => Make a custom work-item type for "Requirement"
* "have comments attached" => Jira comments
* "Generate a task/see tasks completed" => Add items as sub-tasks
* "Version control" => Jira history tab
* "Bugs filed against req" => New issue, link to Requirement
Confluence also has pretty good integration with Jira if you want to write longer/formal documents - you can link to Jira items and the wiki page will update the status of the item automatically.