Initial Android project commit.
Initial commit of Arduino stuff.
Adds AES library for Arduino, AES stuff for Android, other debugging stuff.
Merge branch 'master' of https://github.com/MaybeNot/CREG257
added bluetooth code for arduino
Initial commit of Bluetooth stuff.
Merge branch 'master' of https://github.com/MaybeNot/CREG257
Reading/writing seems to be working
Sending/receiving works ok, encryption untested...
Arduino program for receiving data, decrypting it, and turning LED on if it matches passcode
Adds encryption.
Init seems to be working?
Adds lock/unlock buttons to app.
Removed Go button, added persistant storage on Arduino for keys and passcodes
Removes some debugging printing
Start of key sharing stuff.

Adds button, which creates a file and launches a "Send email" intent
which prompts the user to send an email with the created file attached.

To send the file, because it's in internal storage, had to create a ContentProvider
so the email app can access it.

Also adds an intent-filter to the manifest so when you select a *.phnky attachment,
our app is listed as one of the "Complete this action with" apps.  Tested for Gmail
app, not sure if it'll work elsewhere (e.g. Yahoo).
This should actually work now after just the first init...
Adds persistant key/pass/lockid storage.

KeyPassFileOpener is called to open .phnky email attachments.  It uses
FileManager to add the info to our internal file structure.

Our internal file structure is just a directory ("lockfiles") under
our app's internal directory (Context.getFilesDir()).  Each lock is stored
in a new file, starting with 1.phnky and counting up.  The file format is:

32 byte key, 1 byte passcode length, passcode length, 1 byte lock ID, lock ID.

Lock info is now kept neatly in a class, KeyPassData.  Eventually, this will
also be able to generate new keys and passcodes for initializing a lock.

On creation (and resume, I think), MainActivity will call FileManager.readData,
which reads all the *.phnky files, creates a KeyPassData object for each,
and returns an ArrayList of the objects.  As of now, MainActivity just selects the
first KeyPassData object in the list as the "currentKpd".
Adds motor spinning stuff. UNTESTED\!
Adds MI challenge to authentication procedure