Refactor Code and PEP8

I am refactoring code incrementally,

The following are changes I made and the reason

1. Changed GATE class to accept tuple *inputs instead of list.It is  better to pass argument to superclass as it is and then convert it into list,this not only complies to DRY principle(no need to do list(inputs)), but is also recommended way of doing handling parameters among class hierarchy in python.

2. Auto PEP8 formatting fixes for the 2 files.PEP8 recommendations makes code standardised and readable