Closes #16, Closes #19

* finalise card/set data fetching
* move getSetList out of card service into data service
* check if data is available in card filter controller
  to retrieve set data, otherwise use a timeout to check again
* use async file read to get set list in data service
* fix card filter controller test