MemmoryProvider: using statements
use uint instead of int for memory addresses
+ add support to write ascii character when memory region cannot be read
+ fix ReadMemory() methods
set provider null after close to free memory
ReadProcessMemory(): make sure to set byte array capacity :: data = new byte[bytesToRead];
remove code to use MemoryScanner from r204 (I think we fixed the error in the last commit)
+ add variant classes that use MemoryScanner from r204
change address from uint to int
+ add exception logic to ensure provider is open
change int in method to uint
+ overhaul memory scanner