First attempt at extracting Notes::Tasks

It is probably useful to have programmatic access to all of the tasks
for a file or set of files for potential integration with other
services. Previously, task parsing and printing to the console were
tightly coupled; this extracts the task parsing into the `Notes::Tasks`
module which returns data suitable for formatting and printing.

No functional changes are introduced.
Only pass in needed options to
First pass at adding Notes::Tasks.for_files

WIP

We are going to want programmatic access to all of the tasks for a given
project, not just a particular file. This is a start at implementing
that through Notes::Tasks.for_files, which will return a hash of
filename -> [<Notes::Tasks], allowing us to refactor the CLI printing
code as well as display results through other interfaces as desired.
Add .gitignore
First attempt at extracting Notes::Tasks

It is probably useful to have programmatic access to all of the tasks
for a file or set of files for potential integration with other
services. Previously, task parsing and printing to the console were
tightly coupled; this extracts the task parsing into the `Notes::Tasks`
module which returns data suitable for formatting and printing.

No functional changes are introduced.
Only pass in needed options to
First pass at adding Notes::Tasks.for_files

WIP

We are going to want programmatic access to all of the tasks for a given
project, not just a particular file. This is a start at implementing
that through Notes::Tasks.for_files, which will return a hash of
filename -> [<Notes::Tasks], allowing us to refactor the CLI printing
code as well as display results through other interfaces as desired.
Finish using tasks for internal printing. Still need to wire up tests
Merge branch 'tasks' of https://github.com/andrewberls/notes-cli into tasks

Conflicts:
	lib/notes-cli.rb
	lib/notes-cli/cli.rb
	lib/notes-cli/tasks.rb
	lib/notes-cli/version.rb
First pass at dropping in web interface
Add Gemfile
Add ruby gemset
Add in default methods to make web interface easier
Next pass at integrating and styling web interface

Notes is now aware of whether or not it is being mounted in a Rails
app, and takes care to set the default search root to the appropriate
location. Some basic styling is added, but is likely to be ripped out
soon anyways.
Update .gitignore
Code cleanup
Make web view more pretty

Removing cheeky for now, as we're using a full-page layout. Everything
is just a placeholder for styling at the moment.
Add task context parsing and specs

Task context is for the web interface - it will allow the user to expand and
see neighboring lines to get some context on the task.

Specs are good, mmmmkay.
Rename Notes.default_root to Notes.root
First pass at parsing info from git along with JSON sinatra endpoint