Make trailing slashes for EC2 metadata URLs explicit & remove them from userdata requests

Make trailing slashes for metadata URLs explicit and remove the trailing slash from userdata calls. This is an alternative implementation to #1897 and #1856. Here is a review of the AWS and CloudStack behaviors as well as how exactly boto will change after this pull request is applied:

|   URL                                                   |  AWS? | CloudStack | Boto 2.19.0 | After Change |
|---------------------------------------------------------|------:|-----------:|------------:| ---------:|
|http://169.254.169.254/latest/meta-data                  |     × |          × |             | |
|http://169.254.169.254/latest/meta-data/                 |     ✓ |          ✓ |           ✓ | ✓ |
|http://169.254.169.254/latest/meta-data/instance-id      |     ✓ |          ✓ |           ✓ | ✓ |
|http://169.254.169.254/latest/meta-data/instance-id/     |     ✓ |          × |             | |
|http://169.254.169.254/latest/user-data                  |     ✓ |          ✓ |             | ✓ |
|http://169.254.169.254/latest/user-data/                 |     ✓ |          × |           ✓ | |
|http://169.254.169.254/latest/dynamic                    |     × |          n/a |             | |
|http://169.254.169.254/latest/dynamic/                   |     ✓ |          n/a |           ✓ | ✓ |
|http://169.254.169.254/latest/dynamic/instance-identity  |     × |          n/a |             | |
|http://169.254.169.254/latest/dynamic/instance-identity/ |     ✓ |          n/a |           ✓ | ✓ |

@hiroki-soum and @pyr, does this look like it solves your issues? The added test should prevent changes in the future.

@toastdriven please review. My one concern is https://github.com/boto/boto/blob/develop/boto/utils.py#L371 - if anybody is manually passing in a string like `'meta-data'` today then this may break. Should we just force a trailing slash in that method?