Service ground work

Very early code for the background service, using WakeLock, and
AlarmManager, edit manifest for required permissions, service will start
running on boot, and it is going to be handled by AlarmManger.
Fixed AndroidManifest

Silly eclipse trying to format the code after I wrote it for some
reason. Just fixed what eclipse to screw with.
Back-end towards using SQLite

Renamed old Task.java to DeprecatedTask.java so it doesn't break the
existing code, until all the code is edited to to use SQLite over the
old text file.  Created DatabaseHandler.java with CRUD functionality
that uses a newly defined Task.java
Deleted old AppService code

Just so git will let me commit.
Update Task class

* Added 3 new fields to Task: category, dateModified and finalDateDue
* Updated constructors, equals, getters/setters to reflect new fields
* Implemented Parcelable interface, so now Tasks can be bundled with
  intents like before
* Added a couple TODOs for future improvements
Update DatabaseHandler to handle new Task fields

* Category, date modified, and final date due are now stored and
  retrieved by the database handler
Update MainActivity and AddTaskActivity

* MainActivity and AddTaskActvity now use the database for task storage
* Creating tasks, toggling completion, deleting tasks all work
* Sorting options still need to be updated
* Renamed old versions to DeprecatedMainActivity and
  DeprecatedAddTaskActivity, but they can probably be deleted
* Created class TaskDataSource as a wrapper for DatabaseHandler. This
  will reduce open/close operations on the database as compared to the
  previous implementation and should improve app performance
catch up with john-dev
Re-implement autosort

* Sorting has been re-implemented
* All comparators have been updated, and new comparators have been
  created
* Fixed a bug where newly created tasks could not be deleted from the
  database until the app had been destroyed and recreated. This was
  happening because the ID of the task was previously unknown until
  after it was entered into the database. Now, the next available ID
  is queried from the database and set in the task before it is added
  to both the database and the list adapter.
* Removed the deprecated classes
Update how tasks are displayed

* Changed the adapter of the main activity to show all the fields of
  the Task class. This should be useful for debugging and we will
  change it to something more attractive before release
* Task objects now have Calendar objects as fields, like they did
  before. They will exist and be updated alongside their numeric
  counterparts. This should make everything easier (numeric for
  reading/writing from the database, and Calendar for easy conversion
  to human readable form)
Merge pull request #22 from CS-Worcester/jon-dev

Jon dev
Merge pull request #23 from CS-Worcester/james-dev

catch up with john-dev
Fix date bug

* There was a bug with the date fields in Task objects in that they
  were converting to the wrong date. This was because the date in
  milliseconds is too large for an int.
* All date fields and references have been converted from int to long.
* This was a problem on the database end too, because INTEGERs in
  a SQLite database can only be 8 bits (too small for long int).
* This was fixed by dividing the millisecond value by 60000 to convert
  it to minutes. This allows the data to be small enough to be
  reliably stored.
* A downside is that the precision of the date fields have been reduced
  to minutes, but this isn't really a downside because for the app's
  purposes that is precise enough.
Update data types in SQLite database

* Date columns in the database are now of the type DATETIME
* DATETIME is large enough to hold long ints, so the date values no
  longer have to be divided by 60000 in order to be stored in the
  database
Merge pull request #24 from CS-Worcester/jon-dev

Jon dev
Update .gitignore
Merge pull request #25 from CS-Worcester/jon-dev

Update .gitignore
Scheduling alarms using an IntentService

TaskButlerService (an IntentService) takes care of scheduling Alarms
with the AlarmManager. OnBoot/OnAlarm BroadcastReceivers. and a custom
class to acquire partial WakeLocks.
Database Modifications

TasksDataSource is now a Singleton to allow for thread management when
it comes to using the SQLite database, needed modifications to
MainActivity and DatabaseHandler in order to use the new format.
Notifications using NotificationCompat

NotificationHelper can be leveraged to show notifications, selfcontained
it is a very good start in order to start implementing more kinds of
notifications posibly using the cool new things in Android 4.1 (API
level 16), HandleNotificationActivity is the landing page but it is a
very empty activity at the moment.