Ubuntu installation guide fixes

* 404->403
* Corrected indent for code formatting
Tag API documentation fix: create endpoint has tag passed as argument, not in URL
Update documentation:
 * Install vfsStream (pear.bovigo.org is the only source I could find that works)
 * phpunit requires a configuration file
Merge pull request #926 from sneakypete81/documentation

Documentation Fixes
Fixed white gap at bottom of photo details page

Fixed the white gap at the bottom of the photo details page by adding the "hidden" class to the form to keep it from taking up vertical space.
Merge branch 'patch-1' of https://github.com/spangborn/frontend into pr-938
Adding og:url and og:title to photo list and album list pages. Closess #928
Fixing a bug where the create tag API would always return a 500 on success. Closes #927

There was a lot wrong with the create tag API. It's not actually used in any code I know of so it seems it went undetected for a while (need unit tests).

Reproducing the 500 issue.

    ./openphoto -X POST -h 2.local.photo -e '/tag/create.json' -F 'tag=foobar' -p
    {
      "message" : "An unknown error occurred.",
      "code" : 500,
      "result" : null
    }

From the apache logs.

    {severity:warn, description:"Uncaught exception (/vagrant/frontend/src/libraries/external/epi/EpiException.php:13): Could not find route (/v1/tag/foobar/view.json) from (/tag/create.json?oauth_consumer_key=ea63f99a0f3f4498121c0b3cbac5b4)", additional:}

Calling the newly created `foobar` tag which has a count of 0 shoulr return a 404 `/tag/foobar/view.json` but we get HTML.

    ./openphoto -h 2.local.photo -e '/tag/foobar/view.json' -p
    <!DOCTYPE html>
    <html lang="en">
      <head>
    [snip]

After the fix.

The create API should return a 201.

    ./openphoto -X POST -h 2.local.photo -e '/tag/create.json' -F 'tag=foobar2' -p
    {
      "message" : "Tag foobar2 created successfully.",
      "code" : 201,
      "result" : true
    }

Querying it should return a 404 if no photos are tagged with this tag or a 200 if they are.

    ./openphoto -h 2.local.photo -e '/tag/foobar/view.json' -p
    {
      "message" : "Could not find tag foobar",
      "code" : 404,
      "result" : false
    }

    ./openphoto -h 2.local.photo -e '/tag/foobar2/view.json' -p
    {
      "message" : "Successfully returned tag foobar2",
      "code" : 200,
      "result" : {
        "id" : "foobar2",
        "owner" : "2@jmathai.com",
        "count" : 1
      }
    }
Updating message to install vfsStream for unit tests. Closes #944
Replacing browserid.org with login.persona.org. Closes #924
Automatically remove confirmation message after 5 seconds. Closes #726
Adding Album model unit test and fixing some bugs as a result. Closes #522
Showing all albums on photo edit autocomplete form. Closes #814 Closes #915
Fixing missing UI feedback when creating/updating groups. Closes #889
Adding versioned URLs for assets inside {docroot}/assets/. #903
Adding unit tests for new AssetPipeline methods. #903
Enabling media versioning only if cdnPrefix is set. #903
Fixing fatal error of using $this. Closes #951
Adding unit tests for compatability functions. #951
Including more tests for file existance. #951