* Added new endpoint for updating password
* Added internationalization method to ContextManager and Context
* Updated contexts to use internationalization
* Added a fancy text-based UI to the server
* Added translations
* Moved Promise class to its own file
* Made BankNetInteractor its own file
* Added a lot of convenient methods
* Added many more comments
* Fixed input event management in ButtonView
* Added support for dynamic ListView content modification
* Added more layouts
* Fixed some namespaces
* Added more commands to the server
Updated some old code to use new methods
ECDH implementation now uses BitWriter/BitReader to serialize/deserialize
Added error handling to NetClient for predictable cases of error
Fixed regular SHA1 implementation
Partially remade optimized SHA1 implementation as a hybrid implementation between minimum allocation and minimum processor overhead
Fixed how Databse manages serialization/deserialization of Users
Updated Output class to support any type
Output now supports overwritable lines
Added OutputFormatter to simplify creating-column output
Sessions keys are no longer invalidated when client-server connection is closed
Added command system to server for easier administration
Refactorings:
* BinaryCollector -> BitWriter
* BinaryDistributor -> BitReader
Additions:
* Output class for making serverside output pretty and more readable
* Better RSA keys (private keys withheld)
Changes:
* Minor changes to all views and their rendering
* Added corrective resizing to resize listener to prevent errant window sizes
* Removed "default" language in favour of a purely priority-based system
* NetContext now attempts to verify server identity before continuing to next context
* Simplified common operations in Context
* Minor updates to some layouts
* Completed translations for english and swedish
* Promise system now supports internal processing before notifying original caller
* Bank interactor methods are now async
* Added support for multiple accounts per user (separate repositories for money)
* Removed test code from client program
* Updated Database to support multiple accounts
* Reimplemented RSA on the server side purely as an identity verification system on top of the networking layer (rather than part of the layer)
* Added Account management endpoints
* Added full support for System-sourced transactions
* Added Account availability endpoint
* Added verbose error responses