String Abstractions for String Verification