add --software option, disable recursion for --try-software(-X)

fixes for #945 and #1024

@stdweird: please review
i'm not familiar enough with the `tweak` code, but i'd log both possibilites, probably with info (or debug if you think this is normal behaviour)