Add async to ITransactionRepository

+ Add async methods to ITransactionRepository, IColoredTransactionRepository, and ColoredCoinTransaction.FetchColors
+ Add default async implementations for existing non-async repository implementations.
+ Add transaction link to ColoredCoinTransaction
+ Extracted the ancestor resolve loop out of FetchColors to preserve the input params (tx) in FetchColors.