Extract tool info into new class, self-update command works now only for PHAR version

It is another approach for #710 - make self-update command works only for PHAR version, great idea by @tucksaun !
It will no mislead users for command which is sometimes available and sometimes missing.

// cc @tucksaun @GrahamCampbell @Seldaek 
it could be even better to avoid registering the command entirely, what do you think ?