modified with scoped_handle
1. bugfix: operator=(ScopedHandle&& rhs) causes original handle being deleted.
2. makes conversion to Handle explicit; and correct spelling.
3. add unittest for ScopedHandle.
modified in scoped_handle
1. bugfix: move-assignment didn't close old handle.
2. added: make Traits class abstract
3. added: make ScopedHandle non-copyable.
modified in logging
1. modified: replace raw FILE* with ScopedStdioHandle