TrieIter: Fix multiple issues with IterGet* return values

- IterGetString returned false on success
- IterGetArray always returned false when outputsize = 0
- Checks for value type are now consistently placed together with the iter empty check, equivalent to TrieGet* code