Well, um... at least it builds. For Android only.

This is just a point where the Android code builds.
I haven't actually written any tests and so I'm sure it doesn't actually
work yet. But I like having backups.
The android code actually passes a full test! But Java won't compile (yet)

I have started on the Java code (which is completely broken) and got the
Android code to actually run a full hidden service end to end test!

Redid the android test structure so we could control when the
OnionProxyManager is created. This was important for making it easy to
test a 'fresh' install (by deleting the old file directory) before calling
the constructor.

Of the actual tests only testCleanInstall (and only in Android) is real.
I will fill in the rest of the tests later once I get things going in Java.

Changed the ports in torrc to make sure we don't collide with Briar

Got rid of the dedicated EventHandler class because it turns out that there
is state in OnionProxyManager (like bootstrapped) that is controlled by
data from the events. So I put the EventHandler callbacks back into
OnionProxyManager

Fixed up the Java build.gradle to copy over libs, tests, code & assets
from Android to Java so we can share them

Started in on the various Java classes but right now things won't even
compile.
Fixed geoip, retry on hidden services & more java code - java doesn't work

This is just a backup.
This is just a backup. I'm running into serious problems with Tor.

The issues are mostly timing related. It can take a long time to get
a hidden service registered and even once a connection is made we are
seeing long delays in getting bytes through. Need to investigate.
Resolves #1, #2, #6 & #11
Got test running for real to pass on Windows & Android!
Major file handling clean up

Changed the logic so that knowledge of where files go and how to install
them is centralized inside the OnionProxyContext object.

Unzipped the Android and Windows tor binaries since they are unitary.
But we are zipping the Mac binaries because there are two of them and
there is no non-icky way to enumerate the contents of a resource folder.

Brough back the unzipping function to handle Mac.
Get it working on Mac & Cleanup

JavaWatchObserver - The Java watch observer doesn't work properly on the
Mac. I had to put in a number of hacks to get it to be have itself. See
the file for the gory details.

android/build.gradle - To make things move faster during my work on the
Mac I used Android Studio which did not like me using gradle tools 0.9
or buildtoolsversion 19.0.1. So I upgraded to 0.12 and 19.1.0. We'll see
what happens.

android & Java/gradle.properties - So at least a local build will work
by default.

I completely refactored the OnionProxyContext code so everything that
can be in the base class is, now the Java and Android versions only
contains code that has to be there. Much cleaner.

java/build.gradle - No reason to have maven point at our artifactor,
there isn't anything there.
Preparing for Linux Support & rolling back Android

I changed the Android gradle and build tools back to their older versions
because the new Versions gave IntelliJ serious indigestion

I also made the environment variables for the Tor Process into a context
item because we need an additional environment variable on Linux.

I also threw in my first draft of the code to detect linux type. Next
stop will be to actually test it on Linux!
Now with Linux support!
Make everything synchronized and clean up for release
Merge pull request #24 from yaronyg/master

Our first milestone!