Initial solution with Windows application

Titlebar displays the version (minus the build).
Resolved #2: Run DB migrations on startup.

The secret-sauce for migrations is that they must be public classes.
- Migrations run on app startup
- Created Task table migration
Resolved #3: User can create tasks

- DB returns a `long`, not an `int`
- Centralized connection string
- Centralized validation
Configurable DB + Unit Tests

- Connection string comes from app.config file
- Unit tests use shared in-memory DB; global setup
- GUI clears text box when creating a task; shows error if fail to save
Resolved #4: show tasks on startup/create.
Resolved #1: monitor and reload on DB changes
Fixed connection string issue. T'was my bad.
Resolved #5: Task Deletion.
Added the ability to mark a task as done. (Chose to update the existing
migration for now, although it should technically be a new one.)
Also fixed issue where you have to click on text to select the item.
A couple of major changes: task descriptions, and the ability to
view a task's details (description) and edit it. Plus fixes to the tests
to make them more atomic.
Added the ability to change databases at runtime. Also added a file menu,
with File > Exit.
Shrank the UI back to 800x600. It's more managable.
Tasks can now be timed, with a visible stopwatch.
- Added TotalTime (seconds) which is persisted
- Added TotalTimeTracked (TimeSpan) -- public-facing
- You can start/stop timing a task
- Quitting the app automatically stops timing if applicable
- Refactored some control names
- Again, modified the existing migration (no releases yet ...)
Task time is now logged as a time period (start time, duration), so that
users can easily see how much time they logged in a period of time.
Included missing tests for time-tracking.

Also fixed a bug with time IDs being set to task IDs. Oops.
Resolved #8: added foreign key

- Renamed TaskId to Id
- Added app icon
- Other small bug-fixes
Slight clean-up.
Remove popup when DB is externally changed.
Fix a whole slew of bugs.

- Properly remove `Task.TotalTimeTracked` field
- Fix two broken tests
- Fix issue with nulls for task ID
Resolved #10: can't update task name