Code Style Improvements

_In Progress_

* Updates to new version of Crane which uses `ClassTag` to return downcasted types rather than `Entity`.
  * This reduces a lot of redundant code and type-checking that had to be done whenever a call to `getComponent` was made
* Reduce build warnings
* Make some thing more idiomatic
  * remove redundancies
    * declaring `val` in `case class` parameter (this is implicit)
  * `var` -> `val` when value is immutable
  * remove a bunch of `null` and replace with `Option` methods
  * replaces `for` loops with `foreach` when it aids readability
  * empty-parens when function has side-effects
* Style improvements galore
  * spacing for parenthesis
  * brackets when pattern matching

This is still in progress and I'll be pushing up more soon. The code is getting much more readable, in my opinion.