Fix AuthManager IsAuthenticated restoration.
Add BaseActivity for Android project.

Add a common ancestor for all activities. Implements authentication
check and force-redirects to LoginActivity.
Replace LoginActivity.

Implemented better naming conventions, only required fields, strings are
not hardcoded into the layout.
Add RecentTimeEntriesActivity placeholder.
Fix invalid SQLite expression.

Apparently SQLite.NET doesn't support !bool, so it had to be written as
bool != true, which is supported.
Rename BaseModelsViewAdapter.

Renamed ModelsViewAdapter to BaseModelsViewAdapter as that is more like
how the classes in the Android framework are named.
Fix models view dapter item type typo.

The BaseModelsViewAdapter had a typo in the GetItemViewType method,
which made it treat every row as a loading indicator.
Fix notification on model change.

RecentTimeEntriesView global model change listener failed to notify
about changes to the underlying data, thus breaking databinding.
Fix crash related to view type values.

Android Adapter.GetItemViewType() must return integers starting from 0
(noted in the docs). As the code did not do that, it produced a very
cryptic crash.
Add caching for DontDirtyAttribute checking.

Reflection is way too slow to check is like that every time after all.
Implemented a simple cache mechanism to do it only once for a property.
Disable most of OnPropertyChanged logic for non-shared models.

Automatic validation, dirty marking and MessageBus broadcast on
OnPropertyChanged only happens if the model IsShared now.

This change shaved off around 50% of the time spent in the method in
overall.
Don't call NotifyDataSetChanged for count changes.

Removed redundant call to NotifyDataSetChanged in BaseModelsViewAdapter
as when the Count changes the Models property is also changed, thus
currently we invalidated the data twice, for no benefit.
Workaround mono bug with losing context.

For some reason mono lost the actual object context in the event
handler, meaning the NotifyDataSetChanged would throw a weird exception.
Adding the Handle check preserves that context.
Add RecentTimeEntries list.
Move RecentTimeEntries list to a fragment.

Created RecentTimeEntriesListFragment, which hosts the ListView for
recent time entries. This is to start using the fragment pattern from as
early as possible.
Fix RawDuration conversion when stopping time entry.

The RawDuration conversion from negative value to correct positive value
was broken. Identical problem as in commit 929caa0, however, in a
different method.
Add TimerFragment.
Check for current user in RecentTimeEntriesView.

When adding new models from OnModelChanged message, the user of the
changed time entry was not checked against the currently logged in user.
Fix time entry continuing.

The newly created time entry was not persisted and was not associated
with the user of the previous time entry.
Add continue time entry on recent list view click.