Missing usage of particleClass in FlxEmitter

FlxEmitter now uses the custom particle class to recycle instead of FlxParticle.
Fixed FlixelCommunity/flixel#6, AdamAtomic/flixel#226
FlxTilemap ignores last tiles if startingIndex is > 0

_tileObjects now takes startingIndex into account.

Fixed FlixelCommunity/flixel#55, AdamAtomic/flixel#176
overlapProcessed isn't properly cleared in FlxQuadTree

_notifyCallback is now only called is _processingCallback returned true that iteration.

Fixed FlixelCommunity/flixel#29, AdamAtomic/flixel#203
Added error message if particleClass does not extend FlxParticle
FlxTilemap not clearing variables before loadMap

I've added a clearTilemap function that properly resets everything before every call to loadMap. I also set visible and active to false in the constructor, so that flixel doesn't attempt to draw a tilemap before it's been loaded.

Fixed FlixelCommunity/flixel#46, AdamAtomic/flixel#185
Fixed FlixelCommunity/flixel#34, AdamAtomic/flixel#197
Crash when streaming MP3's with no ID3 info

Removed the unnecessary checks for id3.songName/id3.artist length.
Destroy() now removes the id3 eventlistener in case the FlxSound is destroyed before the info is recieved.
Fix FlxObject#(overlaps|overlapsAt) checking only first element of FlxGroup

FlxObject#overlaps and FlxObject#overlapsAt had a bug that would lead to only the first element of a FlxGroup being checked. It was happening because the variable "length" was not locally declared, however there was no compiling warns/errors because the Object class has a property named "length".
Add `FlxGroup::revive()`

The FlxGroup will now revive itself, and then all its members.

This is to compliment `FlxGroup::kill()`.
Made it clear that using `play()` on a paused sound resumes it

Also reduces a single line of repeated code
Merge two `FlxSound::_fadeTotal` variables

Since you can't fade out and fade in at the same time, having two different
variables handling the total amount of time to fade was unecessary.

Merges `_fadeInTotal` and `_fadeOutTotal` into `_fadeTotal`.
`FlxSound` Reset fade timers when a sound stops

All fading and all timers reset once a sound has stopped (or is paused)
Move `particleClass` to a getter/setter

Also moved around the error messages for said member.
Tweaks for FlxObject.overlap* and fixes for FlxTilemap.overlap*

I extended the fixes of FlxObject.overlap*() to FlxTilemap.overlap*(). I also added a break statement when a collision is detected since all overlap() methods return just a boolean.

Fix https://github.com/FlixelCommunity/flixel/issues/39 and https://github.com/AdamAtomic/flixel/issues/192 .
tidy up FlxEmitter
Move "FLEX_SDK_LOCATION" variable from script to git config

This is to prevent your workspace from becoming dirty if you change the SDK location.

Also added a "helper script" for setting and retrieving the SDK location.
Change `utils` scripts from `sh` to `bash`

I'll be needing to use the `source` command in the future which only works in `bash`.
Move options for `utils` scripts to separate `config` file

This will come in handy later when the same options are used in other scripts.

Also, changes to the config options will be separate from the script changes.
Add `generate-flixel-swc` script

It does just so, generates a SWC file with naming based on the currently checked out version of Flixel.
`FlxSound::update()` amplitude cleanup

Remove unecessary check if `_channel` is `null` (it won't ever be when `update()` runs unless the developer overrides that behavior)

Reset the `amplitude` variables if the sound is muted (rather than leave them at their previous value)
Add `FlxSound::playing` field to avoid duplicate code

I realize we aren't supposed to add, remove, or modify public members in this release,
but this one was minor, and won't break any existing code.