[Jshint] Added a Jshint config.

Added a Jshint config to make the code follow a common style, aswell as
help to detect code errors/inconcistencies.
Added spaces between function and brace.

Did this as it makes it easier to see, and is generally a good practice.
Changed from using == to === as its best practice

The reason it is best practice is that Javascript has a lot of weird
and inconsistent behaviour with ==. So its best to always use === which
doesn’t use type coercion.
Added Brackets around if statements.

Not having brackets around conditional statements can sometimes lead to
strange, hard to track down bugs.
Added performTransition method instead of ternary

I have done this because it make sense to separate this behaviour. We
could also further reduce this into a single method which all the fn
methods use later on
Removed calling functions from ternary.

Calling functions inside of a Ternary operation can sometimes cause
bugs. For example, putting return statements inside of ternary
functions just doesn’t work.
Changed from using == to using === as its best practice