Implement correct sorting of expense objects

Expense objects need to be sorted out in a chronological
order and put into corresponding lists depending on their
date before they can be transferred to the adapter.

-sort the expense objects in a chronological order by
implementing a compareTo method in the Expense object
-put Expense objects into different lists depending
on their date
Implement the very basic expandable expense list

The basic structure of the expandable list is implemented. Right
now the adapter is being passed a sorted by dates List of Lists
of Expense objects which are used later on to make the structure of
an expandable list.

-implement a custom BaseExpandableListAdapter
-make a working version of the first expandable expense list
Add some more info to the expandable expense list

-make the group headers show "date, month, year"
-make the group items in the format "description, amount"
Add a separate layout for no expenses

In case the user tries to enter ExpandableExpenseActivity
and there are no expenses then the size of the list that
holds all expense will be zero and this will cause problems
later. This can be solved by adding a separate layout and a
check for the size of the list.

-Add a check for the size of the list with expenses
-add a separate layout for an empty expenses list
Remove + 1 in month variables, delete expenselist

All month variables that were set before were added 1
to the them so that the text views were given the right
value from the list of months. This is no longer necessary.

- remove all the +1 in the month variables where it is not
needed anymore
- change the group header in expandablelistactivity to
month / day / year
- redirect the user to the expandableExpenseActivity instead
of expenselist
Add some more changes to expenses list

- delete the old expenselist
- add a total amount of all expenses to the group
- fix the layout to show list items the way I want
Add two sliding buttons to each expandable item

So that the user can edit or delete the expense - these
buttons must be implemented. They will slide out from the
item that the user clicked on.

-change the expandable_list_item basic layout to linear
-add ExpandAnimation class that animates the toolbar that
slides out from each expandable item
add delete expense prompt
Revert "Add two sliding buttons to each item"

This reverts commit d941d4d7c95f91cf2bb3d6240461aef163c094b3.

Decided that it would be too much trouble dealing with this
toolbar below each expandable item. Decided to make a separate
activity that will pop-up upon clicking on the item of the
expandable list view.

- revert the commit that makes the toolbar with edit and delete
buttons
- remove all of animation classes and everything else that went
with it.
Create a ShowExpenseActivity

The Activity will hold all the information about
the expense chosen and will have two buttons at the
bottom - edit and delete. Right now it's at the state
of a rough draft.

- create a ShowExpenseActivity and a layout for it
Redirect user to show expense details

Upon clicking on the expense in the ExpandableExpense
Activity the user will be redirected to the show
ExpenseActivity with details about the expense and
buttons for either deleting or editing an expense.

-pass the expense that the user has chosen in Expandable
ExpenseActivity to ShowExpenseActivity.
-implement a method getExpenseBasedOnId that gets an returns
an expense by passing it Expense's id
-implement an onChildClickListener interface in the Expandable
ExpenseActivity
Implement the delete expense button

In case the user clicks the delete expense button
the chosen expense must be deleted from the database
and the user must return to the list of expenses.

-implement the delete button in the ShowExpense
Activity
-implement a prompt to be asked upon deleting an
expense. In case of positive response - delete the
expense from the database and return to the
ExpandableExpenseActivity and refresh it by setting
a new adapter with a new dataset.
-make the AddExpenseActivity and ShowExpenseActivity
leave no trace in the Activity stack.
Start AddExpenseActivity on edit button press

In case the user presses the edit button in the Show
ExpenseActivity the user must be taken to AddExpenseActivity
with the info about this current expense that the user will
have the ability to change. At the moment the button just
takes the user to AddExpenseActivity without referring
to the chosen Expense

-implement the OnClickListener on the edit button
in ShowExpenseActivity that takes the user to AddExpenseActivity
(empty at the moment)
Delete category and payment method

I decided to make this version of the app simplified.
Therefore the category and the payment method will
not be used. Hence, I removed all of the views, spinners,
data and everything else that's related to category
and payment method fields.

-delete category and payment method fields from all
classes, datasources and everything related.
Rename AddExpenseActivity to SaveExpenseActivity

AddExpenseActivity will now be saving changes to the
expenses passed to it also, therefore it makes sense
to rename it to SaveExpenseActivity.

-rename AddExpenseActivity to SaveExpenseActivity
everywhere.
Rename ExpandableExpenseActiv to ExpenseListActiv

The ExpandableExpenseActivity doesn't really make sense
about what is inside that activity - the ExpenseListActivity
makes more sense and will be easier for use in other
activities in the application.

- rename ExpandableExpenseActivity to ExpenseListActivity
make SaveExpenseActivity execute different code

The SaveExpenseActivity must execute different code
paths depending on its parent Activity. In case the
its parent Activit is the mainActivity then SaveExpense
Activity must create a new expense - in case its parent
Activity is ShowExpense - then it must modify it.

- make SaveExpenseActivity execute different code paths
depending on the key passed to it by an intent from the
parent Activity.
Save changes to the modified expense

In case the user clicks modify expense button on the
ShowExpenseActivity they will be redirected to the
SaveExpensActivity where they can totally modify all
information about the expense and save it.

-implement a modifyExpense method in the ExpensesData
Source.
-divide the execution of code in SaveExpenseActivity
depending on Parent Activity that the user came from.
Bug fix: back button in the CurrencyListActivity

The user was not able to back out from the CurrencyListActivity
when he called it from the BudgetSettingsActivity. While it is
correct that the user shouldn't have been able to back out of it
from the initial start of the app - they should have the ability
to back out of it otherwise.

-implement an ACTIVITY_COMING_FROM_KEY in the CurrencyListActivity
in order to check from which activity the user comes from and
implement a different behaviour for the back button from there.
Add comments, javadocs, refactor code

-Add comments and javadocs to all classes tha require them
-Refactor code to be more understandable and simple