Giordano Vicoli's Chess_Studio (not to be confused with a similarly named e-reader app from Gambit Publications) seems to have many of the features you are looking for. I've only tried Chess Studio Light, but it is able to import a much wider range of PGN files than any of the PGN viewer apps. Within a PGN archive, you can view lists of games sorted by Event, Opening, Player or Year. The game window in the Lite version allows you to add nested variations and text and some NAGs (!, ?, only move, and novelty), but you may need the paid version to analyze with Stockfish as kibitzer, or add long lines of moves to a game. You can save games, or send them by email. It registers itself as a PGN program, so you can use the "Open in..." menu item to add PGN files to it from programs which have "Open in..." You can download and upload from Dropbox and iCloud. You can download from TWIC or PGN Mentor. It also has Nalimov tablebases for 6 men endings. In the paid version, it looks like you can play against Stockfish, and set its rating from 500-2500 elo with a choice of aggressive, active or solid styles. You can set up a position, and play the engine from there. There isn't a tree view or keys. The openings index is sorted by ECO codes with no diagrams or names. Even so, it's the most complete PGN editor/database I've seen for iOS.
In Smallfish, Smallchess and Stockfish, when you try to add a new variation, the app deletes the moves that were there before, so nesting is impossible. They don't seem to allow you to add text comments or NAGs either. Smallfish can display text comments from PGN files you import, but the moves in these comments are not clickable.
Re. Android, Chess PGN Master Pro, Droidfish and Chessbase Online all seem to allow you to annotate games, and add subvariations and some NAGs. The Chessbase app for iOS seems to be more about just accessing their website.
Re. opening repertoires, I haven't tried the iOS version of Arnel Domingo's Chess Opening Trainer, just the Windows demo, but it lets you input your own repertoire, test it, and has trees.
I should also probably mention that there are a number of PGN Editors that you might be able to access online using Safari: Chess.com's Analysis Board Editor, Lichess.org's Board Editor, Apronus and Caissa's Web. A lot of sites also have opening trees, eg. 365chess.com, Chessbase and ChessOK.