Everything goes through an adapter

- Port is now environment agnostic because it uses the adapter
- Created BasicAdapter and ChromeAdapter
- Renamed extension_dist to dist_chrome and ignored generated files

For every environment you will need two adapters.
One for the ember inspector and one for EmberDebug.

Ember Inspector:

```javascript
var EmberExtension = App.create({
  adapter: 'chrome'
});
```

Ember Debug:

You can pass the adapter name when injecting:

```javascript
chrome.devtools.inspectedWindow.eval('(function(adapter) { ' + xhr.responseText + ' }("chrome"));');
```
Bump version patch to 0.0.4
Fix method names in route deactivation