Refactored code, so that sidebar cleans up after itself and is reusable

Example:
```
sidebar.addTo(map);
sidebar.removeFrom(map); //events still registered, memory leak
sidebar.addTo(map); //container created again, events registered again
```

 - Turned off events in removeFrom to prevent memory leaks
 - Refactored container setup into initialize, to allow multiple calls to
   addTo and removeFrom.
 - If removeFrom is called while the sidebar is displayed, the sidebar will
   hide itself first to restore map pane as well as prevent itself from being
   displayed by default if addTo is called.
fixed a bug where clicking the close button wouldn't work
refactored close button event listener to use this.hide instead of this._close
Removed unused references to variable sidebar
Merge pull request #7 from jerroydmoore/master

Refactored code, so that sidebar cleans up after itself and is reusable