Minor changes

- Better exception handling for AsyncTasks
- Renamed util package to external
- Redid date formatting in Utils
- Made toast text when clicking on activity more readable
- other minor changes - renaming, methods
Fix fragment loading in MainActivity

The fragment will no longer be reloaded on orientation change. Kind of.
I think.
Redesign ScheduleFragment

It looks kind of nice, with section headers and all! Too bad it doesn't
actually show the activity, because of DB woes.
Fix ScheduleFragment layout issues

Hack hack hack so that it kind of meets the Material guidelines.
Bugfix: clicking on a block now opens the correct one
After the sectioned list was introduced, positions changed due to the section headers also being in the list. This messed things up when a block was clicked. This fixes that.
Fix syncing and displaying activities
The GetBlock routines now return the activity (again?) pass around an unwieldy tuplet in the form of EighthBlockAndActv. Along with some SyncAdapter modifications, this means that those activities are now actually synchronized, which hadn't happened for a while.
Indicate no rooms/no description
Update database upon changing activity in BlockFragment
Resolve crash on Lollipop emulator
Apparently, on the Lollipop emulator, the SyncRequest.Builder needs to have an extras Bundle or something, or it'll throw a NPE. Well, alright, sure...
The full date has been changed to also use the DateUtils method for consistency with the full datetime in locales such as English (Singapore), as if anyone would ever notice.
Layout changes
Not much visible is going on, I'm just struggling with padding and stuff. In the schedule view, the flags are moved to the same line as the rooms; in the block view, they're no longer bolded. The block letter is a bit bigger. And I probably need a real designer.
Lint fixes and lots of NonNull/Nullable

Yeah, basically it's just an ungoodly amount of NonNull and Nullable
annotations...
Other semi-important things are that the Java classes (like NewsEntry,
EighthBlock) now have immutable fields, and there's a permission for the
SyncAdapter now so lint stops complaining.
Bugfix: WebView's CAB no longer appears over Action Bar
Not a difficult fix. Also, Lollipop elevations because why not?