Adding Gulp and JSHint
Merge pull request #619 from TheIronDeveloper/gulp

Adding Gulp and JSHint
Not searches for dexsearch
Adding config for JSHint (as well as DRYing up the lint task.)
Merge remote-tracking branch 'upstream/master' into patch-1
Merge pull request #620 from TheIronDeveloper/gulp

Adding config for JSHint (as well as DRYing up the lint task.)
Merge pull request #621 from TalkTakesTime/patch-1

Not searches for /dexsearch
Making JSHint actually look helpful, and explicitly ignoring eqeqeq errors
Merge pull request #622 from TheIronDeveloper/gulp

Making JSHint actually look helpful, and explicitly ignoring eqeqeq errors
First pass at code quality: adding semicolons.
Merge pull request #623 from TheIronDeveloper/gulp

First pass at code quality: adding semicolons.
Second Pass at cleaning up the code.  These are pretty safe edits that include adding 0 to decimal values, fixing variables that are declared multiple times, and removing duplicate keys
Reverting some of the refactor
Merge pull request #624 from TheIronDeveloper/gulp

Second Pass at cleaning up the code.
More jsHint options
Fix `megaSearch` and `all` interaction in dexsearch
Merge pull request #625 from TalkTakesTime/master

Fix `megaSearch` and `all` interaction in dexsearch
Implement Random Doubles Battle

This commit implements the Random Doubles Battle format,
a format awaited by hundreds of players.
This first version uses singles viable moves for the movepool
while Doubles team works on the project of gathering viable
moves for all Doubles Pokémon.

The team maker and set maker are slightly different,
choosing items and abilities more useful in doubles, capitalising
less on tiering and more on BST, and changing move priorities.

This is a first version that should be kept updated with new
and better mechanics for its own Team Making algorithms.
Random Doubles battle: Allocate EVs properly
Random Doubles Battle: Add an EV allocation fallback