Convert the $expire argument to a valid value. Handle cases were $data is an object, or neither an object or array.
remove commented out code.
Provides a better user experience when `cc all` called outside Drupal directory.

This is to stop the issue of calling Drush cache clear outside a Drupal directory and not realising it.   

For instance a Drupal site is located in /var/www/oursite/html/ and you navigate into /var/www/oursite/ and call drush cc all.   

Currently calling `drush cc all` in a non Drupal directory  

'drush' cache was cleared.          [success]   

Is pretty easy to confuse with calling `drush cc all` in a Drupal directory. (Even though they have slightly different messages they both return success)

'all' cache was cleared in /var/www/mch/mch/htdocs#mch  [success]   

  
I have modifed the command to return 

No Drupal site found, only 'drush' cache was cleared.  [warning]
Only warn if you pass in type all and it is changed to drush

As per suggestion from @greg-1-anderson
Added back $type == FALSE use case.
Merge pull request #317 from p4ul/master

Provides a better user experience when `cc all` called outside Drupal dir
Simplify warning message code in instance when only 'drush' cache cleared
#1989174 Prevent makefile recursion through per-project properties
Merge pull request #320 from grasmash/1989174-do-recurse-property

#15 Prevent makefile recursion through per-project properties