make develop_server.sh notify/cleanup when pelican or server don't start

After waiting for pelican and server to come up, if either one has
died then give a more helpful message and clean up. Previously did not
check for this, so script informed user that everything was running even
if one or both parts failed for whatever reason.

This is meant to provide a little more user-friendliness
in those cases where user has a develop_server.sh in project directory
but forgot to (re)install pelican, activate relevant virtualenv, etc.
as well as other unforeseen situations where one of the processes does
not start.
Clarify internal linking.
pelican_import fix for bs4

Quick fix for this traceback:
$ pelican-import --wpfile ~/Downloads/mysite.wordpress.2013-02-24.xml 
Traceback (most recent call last):
  File "/Users/me/.virtualenvs/pelican/bin/pelican-import", line 8, in <module>
    load_entry_point('pelican==3.2', 'console_scripts', 'pelican-import')()
  File "/Users/me/.virtualenvs/pelican/src/pelican/pelican/tools/pelican_import.py", line 363, in main
    disable_slugs=args.disable_slugs or False)
  File "/Users/me/.virtualenvs/pelican/src/pelican/pelican/tools/pelican_import.py", line 238, in fields2pelican
    for title, content, filename, date, author, categories, tags, in_markup in fields:
  File "/Users/me/.virtualenvs/pelican/src/pelican/pelican/tools/pelican_import.py", line 37, in wp2fields
    if item.fetch('wp:status')[0].contents[0] == "publish":
TypeError: 'NoneType' object is not callable

I'm a BeautifulSoup novice but these changes allowed me to import two of my wordpress.xml files.
Corrected parsing of categories/tags
Check output directory exists before doing a clean

 - if the output directory does not exist the 'make clean' command fails,
   which also means that the 'make html' command which would otherwise
   create the output directory also fails without generating the output
Allow explicit setting of markdown extensions

These additions are to make it easier to disable pygments or any other
extension the user may not want. In the previous version, these plugins are
hardcoded, but by making it a variable in the config, it is possible to not use
pygments or easily load extra markdown plugins if needed; you can have multiple
plugins in one virtual environment and have different configs load them as
needed.

In my `pelicanconf.py` I then have the following:

    MD_EXTENSIONS = ['extra', 'syntaxhighlighter']

where `syntaxhighlighter` is a custom markdown extension I am working on to use
syntax highlighter instead of pygments for code highlighting.
Display feed(s) in footer if no SOCIAL links

For sites where there are no SOCIAL links defined the FEED_ALL_ATOM and/or the FEED_ALL_RSS links are not displayed.
Also update the functional tests output.
Fix a test in the asciidoc reader, and add asciidoc to travis so that
the related tests will not be skipped.
rsync additions

- adding / otherwise you will endup with output on remote
- adding --cvs-exclude (to not sync cvs stuff)
adding a stopsever target for make
Fix: hashlib.md5 funcition only accepts bytes as input
string types have no decode method in py3