Only perform backquote substitution when needed

Spawning shells is an expensive operation.
In a lot of cases, there is no need for any substitution.
Besides, this does not work on Windows.
Merge pull request #1 from pal-robotics/expand-when-needed

Only perform backquote substitution when needed