Adding remove methods to WString. (Better implementation)

To Use:

```c++
   String hello = "Hello World!";
   Serial.println(hello); // Hello World!
   hello.remove(11);
   Serial.println(hello); // Hello World
   hello.remove(5, 6);
   Serial.println(hello); // Hello
```

This is an improvement over my initial pull request as it no longer uses an internal char array in order to do the removal.
This makes for a much cleaner and less memory intensive operation.