[Fix] Fix DB access

Since once opened successfully, the database is cached, we can safely request a new 'database' object prior to executing any request.
[Enhancement] Open up virt. keyboard (if any) on field with focus when an error in AlertDialogFragments is detected
[Task] Add 'About', 'Donate' and 'Settings' menu options
[Task] Implement a reusable AboutDialog for all activities
[Refactoring] Move all libs to a 'libraries' folder, and add 'Donations' lib to it. Also congifure gradle to take such changes into account.
[Task] Add Donate activity
[Typo] Fix typo in Donation text
[Typo] Fix typo in Donation text
[Enhancement] Add 'Donate' and 'About' items to main menu
[Build] Drop libraries build folders
[Build] Drop libraries build folders
Update .gitignore
Update .gitignore
[Enhancement] Add commit hash and tag name in versionName and versionCode => also added to the About fragment