Multiple improvements and logical error fixes

I've modified the code quite a bit and added some notes for you to read,
I mostly replaced os platform checks with a simple library call to [os.path.join](https://docs.python.org/2/library/os.path.html?highlight=os.path.join#os.path.join) to concatenate the file paths.
Additionally the default value checks for the argument parser were replaced with the built in argparse default= parameter, an example of it can be seen below
```python
import argparse

def main(args):
    print args.test

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-t", "--test", default="twenty")
    args = parser.parse_args()

    main(args)
```
Output without -t/--test invoking
```
twenty
```

Output with -t/--test invoking (-t twelve)
```
twelve
```

If you have any question regarding my changes don't hesitate to ask me what the fuck I am doing :)