Notable difference between this implementation and Fulcrum:
- we return an error if the history length is excessive, Fulcrum returns an empty history
- we don't check if unconfirmed transactions have unconfirmed parents (Fulcrum would set a height of -1 in this case)
- for now we don't implement Fulcrum's pagination parameters (from_height, to_height) (so we will need to return a version number < 1.5.1)
I do not expect we will ever use the pagination parameters, as specifying a block range does not allow to anticipate in advance the size of the returned history.