Channels mostly working now

* When joining or starting a song, free channel is sought and assigned if available.
* channels are called tracks on the page
* Created separate listeners for public versus user songs since having two buttons for the same song was causing user to be entered twice into the song
* Removed poor sounding instruments
* Moved sequencer controls into index.html with hidden class to allow JS to apply labels to them after processing everything (when html was in a separate file, selectors were not present to find for labeling since DOM is updated after processing JS)
* Changed Firebase song data and channel setters to accept a parameter to determine whether setting is for initializing (setting everything) or updating (setting just one thing)
* Bug: Currently trying to enter a song in which all channels are full still loads the song grid but doesn't assign a channel - need to fix this so user doesn't enter song
Fixes bug in which clicking a song with full channels would still enter the song

* Adds function that checks if there's a free channel
* Removes full channels alert from loadChannel function
User connection now tracked so channels can be freed up when user disconnects.

* Adds check on channel when trying to switch to see if channel is free even if marked in use by checking if user has disconnected
* Adds UpdateConnectStatus to set user as connected after logging in
* Adds isConnected function to check if user is connected.
Adding check to remove user from channel when entering a new song from another.

* Adding loadCheck function to do the check and then call loadSong.
* Adding currentSong var to User to store the song the user is currently in
fixes bug in which entering a channel would erase the song data there
Fixes bug in which changing instrument would add another entry in FB instead of updating the existing one

* Split the updateSongData function into two functions, one for initializing data and one for updating
* Updating song data function can accept a lastInstrument parameter for updating the instrument.  If no param, just notes get updated.
Merge pull request #23 from artfoundry/channels

Channels