Fix `utils.copy` for copying files, add unit tests

`copy('', 'a/b.ext0', 'c/d.ext1')` is copying `a/b.ext0` into `c/d.ext1/b.ext0`
(creating folder `c/d.ext1` in the process) instead of `c/d.ext1`.
Bug introduced by e03cf3f51735d5387fee7064cae89aaa1d34a0a6.
Simplify usage of `utils.copy`

Remove confusing parameters, clarify usage in __doc__
`ctrl+c` now correctly terminates `fab serve`

Previously `ctrl+c` a `fab serve` wouldn't necessarily terminate the web server. Even if it does, re-using the command `fab serve` might result in the following error:

```
socket.error: [Errno 48] Address already in use
```

This fix manually creates a `TCPServer` with `allow_reuse_address` set to `True`, which solves this issue.

Tested on OS X 10.9.1.
Update settings.rst to match tag cloud code

According to the implementation, the value of `tag.1` should be between 1 and `TAG_CLOUD_STEPS`, inclusive.

See:
https://github.com/getpelican/pelican/blob/master/pelican/generators.py#L457
Extra functionality for pelican-import for wordpress imports
Merge pull request #1234 from alistairmagee/wp-custom-posts-and-attachment-download

WordPress custom posts and attachment download
Merge pull request #1202 from tomtung/patch-2

Update settings.rst to match tag cloud code
Merge pull request #1200 from tomtung/patch-1

`ctrl+c` correctly terminates&reenables `fab serve`
Merge pull request #1183 from Rogdham/pelican-fixcopy

Fix `utils.copy` for copying files