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
qt: register metatype for bool*

This allows the bool* type to be passed between threads.  Should solve issue #2402.
Merge pull request #2501 from Diapolo/progress

rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()
Merge pull request #2525 from laanwj/2013_04_metatypebool

qt: register metatype for bool*