Big rename/reorginization of API classes

Most notable changes are changing 'API' in class names to 'Api' and
moving all API classes to the api package.
Move ApiCall factory methods to ApiCall

Just so Api isn't so polluted.
API: Use an AsyncTask rather than a Service

Long running background services were once strongly recommended against
by the Android developer docs. I can no longer find the article that
stated that, though.

In any case, using a Service to perform API calls is a bit heavy handed.
The actual request was performed in an AsyncTask inside the Service
anyway. All it really did was add an extra layer of complexity:

1. An Intent had to be created to start the service.
1. Arguments were serialized and unserialized.
1. Retrying dead events required Activities to bind to the service and
   use interprocess communication.

Additionally, ApiService was kept alive and running for weeks after the
app was closed unless the user explicitly killed the app.

Converting ApiService to a class with static methods only resulted in
simplifications and performance improvements. One motiviation to use a
Service was to use it to download guides for offline storage. The backup
framework already has a nice system for handling that so it would only
cause problems to try and use ApiService to do the background work.
Api: Remove useless activityid check

This will never happen because BaseActivity always initialzes the
activityid to something greater than -1.
Proguard: Run in release

For us, the primary benefit of running proguard is to remove unused
methods. This is particularly important to remove library code that we
never reference.

This drops APK size of iFixit from 3.5MB to 3.1MB and Dozuki from
4.7MB to 4.1MB.
Merge proguard (#171) into master

Proguard: Run in release

For us, the primary benefit of running proguard is to remove unused
methods. This is particularly important to remove library code that we
never reference.

This drops APK size of iFixit from 3.5MB to 3.1MB and Dozuki from
4.7MB to 4.1MB.
Merge replace-api-service-with-async-task (#170) into master

API: Use an AsyncTask rather than a Service

Long running background services were once strongly recommended against
by the Android developer docs. I can no longer find the article that
stated that, though.

In any case, using a Service to perform API calls is a bit heavy handed.
The actual request was performed in an AsyncTask inside the Service
anyway. All it really did was add an extra layer of complexity:

1. An Intent had to be created to start the service.
1. Arguments were serialized and unserialized.
1. Retrying dead events required Activities to bind to the service and
   use interprocess communication.

Additionally, ApiService was kept alive and running for weeks after the
app was closed unless the user explicitly killed the app.

Converting ApiService to a class with static methods only resulted in
simplifications and performance improvements. One motiviation to use a
Service was to use it to download guides for offline storage. The backup
framework already has a nice system for handling that so it would only
cause problems to try and use ApiService to do the background work.

Conflicts:
	App/src/com/dozuki/ifixit/ui/guide/create/GuideListItem.java
	App/src/com/dozuki/ifixit/ui/guide/create/StepPortalFragment.java
	App/src/com/dozuki/ifixit/ui/guide/view/GuideViewActivity.java
	App/src/com/dozuki/ifixit/ui/login/LoginFragment.java
	App/src/com/dozuki/ifixit/ui/login/RegisterFragment.java
	App/src/com/dozuki/ifixit/ui/search/SearchFragment.java