Player Dash

Player dash now fully implemented.

The player does not dash through objects anymore... 99.9% of the time. There's a very very rare chance that player can still dash through an object.. it has only happened to me once, but you have to be trying really really hard to make that happen. Setting the dash delay reduces the chance of it happening even more, so I really don't think it'll be a problem. 

The other thing to note is that the player and all of it's child objects should have their layer set to "Player". The dash will need to be tested more in the actual game scene as other gameplay features may or may not cause bugs with it.
Regarding this branch, I purposely did it to avoid calling GetComponent every time. It would be less optimized if I called that every time. And I didn't want to cause any future bugs enabling/disabling the weapon constantly.