rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()

- updates ClientModel::getBlockSource() to return all available states and
  sorts enum BlockSource in order of usage cases (none default, then reindex,
  import and network)
- updates BitcoinGUI::setNumBlocks() to better use getBlockSource() and
  also adds a message, when we have NO block source available
Merge pull request #2501 from Diapolo/progress

rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()