setting gpus=-1 and gpus='-1' in Trainer give different behaviours
I discovered this while looking through the code. Trainer constructor does not mention that
gpus can be -1 or '-1'. However if such values are passed they are accepted and result in
different behaviour: -1 will result in no gpus used, '-1' will use all available gpus.
To Reproduce

Run any model first setting trainer gpus parameter to -1. No gpus will be used.
Run same model setting gpus to '-1'. All available gpus will be used.

Being able to set -1 to indicate that all gpus should be used is and I believe useful behaviour.
The issue is in function self.__parse_gpu_ids(gpus) where the handling of -1 when passed as int is not implemented.
Solution would be to implement equivalent logic for -1 as for '-1'.
Happy to submit a PR.