Fixed bug in .html() and .text() failing on a zero length string input

.html('') and .text('') doesn't work. Instead of setting the html or text, it would attempt to return the current value of the target node, as if no parameter was passed.

To use your own example to illustrate the bug before the fix.

JavaScript
```javascript
var src   = document.query('#details .source');
var dest  = document.query('#details .destination');
dest.html(src.html());
```
HTML & CSS
```html
<div class="source">source html</div>
<div class="destination">destination html</div>
```

Would results in:
```html
<div class="source">source html</div>
<div class="destination">source html</div>
```

But if the HTML was:
```html
<div class="source"></div>
<div class="destination">destination html</div>
```

Then the result would be:
```html
<div class="source"></div>
<div class="destination">destination html</div>
```

Instead of two blank divs (which you will get with this fix):
```html
<div class="source"></div>
<div class="destination"></div>
```