Merge branch 'hotfix/0.16.0.8' into rails-3-develop

Conflicts:
    locale/cy/app.po
Handle UndefinedConversionError when converting to utf-8

From: http://ruby-doc.org/core-2.0/String.html#method-i-encode

Ducktypes for having encode rather than relying on RUBY_VERSION
Remove unused variable
Fix tests for basic encoding
needs _spec.rb to be run by `rake spec`
Remove survey variables added in error.
Merge branch 'hotfix/0.16.0.8' into rails-3-develop
Merge branch 'release/0.17' into rails-3-develop

Conflicts:
    config/general.yml-example
    locale/cy/app.po
Update Vagrantfile to Vagrant API v2

Required for Vagrant >=1.1

Should be backwards compatible with older versions
http://docs.vagrantup.com/v2/installation/backwards-compatibility.html
Enable configurable FQDN for Vagrant
Ignore .vagrant directories
Use different variables in the crontab file to help the install script

Using '!!(*= $vhost_dir *)!!' instead of '/data/vhost/!!(*= $vhost *)!!'
makes it easier for the install script to rewrite the crontab for
systems that keep web host data in directories other that /data/vhost
(e.g. /var/www is common).

This is similar change to 20e447e7356ac0387.  Fixes #1376
Enable configurable VirtualBox memory
Allow the location of the bundle to be configured

- Sets vendor/bundle as default
- Uses $HOME/bundle when generating general.yml

Based on d9f162c8ab08cb881cd68a3eee900c52c63cb1ae
Create development environment with Vagrant

Share the host git checkout in to the VM so that a developer can use
their preferred environment while running the application in a
production-like environment.

Use the --dev option of install-site.sh so that the existing git checkout is
used.

The gems are installed outside of the app directory in development
because VirtualBox's directory shares can be slow when the directory
contains an excessive amount of files. Installing gems in to this
directory results in ~15K additional files, which is beyond what
VirtualBox can reasonably be expected to handle
Remove Vagrant reliance on install-script branch

Background IRC Chat:

2014-03-07T11:28:33+0000] <gareth> Why is the branch being replaced
here?
https://github.com/mysociety/alaveteli/blob/rails-3-develop/config/Vagra
ntfile#L18
[2014-03-07T11:29:55+0000] <gareth> It can't checkout install-script
branch as it doesn't exist
[2014-03-07T11:32:10+0000] <gareth> not sure how/why it could do this
when it fetched a new copy of the repo rather than using the host
checkout
[2014-03-07T11:35:42+0000] <louise> gareth that may be my fault - I
deleted a bunch of what I thought were old branches earlier this week -
perhaps install-script was one of them - let me look
[2014-03-07T11:36:58+0000] <louise> nope, doesn't look like it was -
mark, should the install-script branch exist?
[2014-03-07T11:38:18+0000] <mark> what the install script does is to
use the first of these that can be checked out: origin/install-script
0.15 origin/master
[2014-03-07T11:38:46+0000] <mark> but i must have created that
Vagrantfile while the install-script branch existed and worked, but the
master branch wouldn't
[2014-03-07T11:38:56+0000] <mark> i think now it'd be safe to take that
line out of the vagrant file
Move Vagrantfile to repo root

For a better workflow
http://mysociety.github.io/installation-standards.html#silver

    # Host
    # Note that --recursive must be specified to include commonlib
    # submodule
    $ git clone --recursive  git@github.com:mysociety/alaveteli.git
    $ cd alaveteli && vagrant up
    $ vagrant ssh

    # Guest
    $ cd /home/vagrant/alaveteli && bundle exec rake spec
Highlight Vagrantfile customisation options
Improve Vagrantfile usage instructions
Add Vagrant alaveteli-themes share