Refactor + Improve file organization

As long as I was going crazy with #114, I took a whack at improving the file structure & class names. I also moved all front-end code to `public/` to seperate it from the backend stuff.

Here's what I came up with. Consider it a rough draft at best.

```
app.js
utils.js
router.js

components
  app
    AppController.js
    FeedbackView.js
    NotificationView.js
    NewMapView.js

  home
    HomeController.js
    HomeView.js

  map
    MapController.js
    LeafletLineView.js            (previously LineView.js)
    LeafletEditableLineView.js    (previously SelectedLineView.js)
    LineDetailsView.js            (previously LineSidebarView.js)
    MapDetailsView.js             (previously MapDetailsView.js)
    ServiceWindowView.js

framework
  BaseView.js
  CollectionView.js
  Controller.js

datastores
  Line.js
  Lines.js
  Map.js
  Maps.js
  ServiceWindow.js
  ServiceWindows.js
```