Tab completion for PowerShell console (Both PS V2 & V3)

Tab completion for the PowerShell tab. Depending on the version of PowerShell loaded, a different completion function has to be used (with different behaviour). Will usually depend on .NET version of the target executable, though I tested against PS V2 via binding redirects.