Properties should be protected, not public

The SqlBuilderBase shouldn't be referenced by any class except to
inherit from it, therefore we shouldn't expose its internal state.
Save creating a list if there are no parameters
Improved readability
Chain Append calls over using AppendFormat

Benchmarked at 25% improvement in performance as AppendFormat is a more
expensive call
Closes #278
Saves allocation of 2 delegates per call
Consolidated 2 similar Delete methods
Use UnitTest class
Amendments following NDepend analysis