Added coffeelint before main project tests
Added new Project model/collection with AJAX

This is our first attempt at fetching model data from the server. We
mock the $.ajax requests using
[sinon.fakeServer](http://sinonjs.org/docs/#fakeServer). So far we're
using the [JSON API](http://jsonapi.org/) format to see if it works for
our needs.
Extracted common functionality to BaseModel and BaseCollection
Removed unnecessary ProjectsController require
Added basic ProjectController and view
Added Sinon.fakeServer for development

This allows us to mock API requests without having a server running.
Set up repo for testing with Travis
Created FakeServer

This serves as a high-level API for sinon.fakeServer. See the tests at
extract/trabian-webapp-core/test/dev/lib/server.coffee for example
usage.
Created FakeServer instance for todos and projects
Added tests for projects and updated ProjectView to bind to model changes
Added new EventExtensions to BaseModel and BaseCollection

This adds onAndTrigger and listenToAndTrigger methods to BaseModel and
BaseCollection to listen to and trigger an event in one method.
Added initial Relations extensions

This allows declarative setup of relations between models. Currently
only HasMany types are supported.

The config is similar to Backbone.RelationalModel but we're avoiding use
of that library for now as it tends to be a bit heavy.
Added Todo relationship to Project model

This uses the new Relation extensions from trabian-webapp-core.
Moved app/views/projects/project to list_item

There was some ambiguity about the intent of ./project vs. ./detail. By
changing ./project to ./list_item it's more clear what the purpose is.
Template for project list
Fixed typo on ProjectsController test
Project detail controller action and view
Added content-type header to project test
Require 0.10.17 in Travis build
Revert "Require 0.10.17 in Travis build"

This reverts commit 28546e7a40a8488430d0255275ef941f715ef45a.

Travis didn't support 0.10.17.