Make the Lifecycle Id optional and fix prefix=None in XML generation.

The id is optional in the AWS PUT Lifecycle API. Boto currently
always sets the Id to 'None' if you set the rule directly.
Fix the XML generation to not send the Id if id is None.

If prefix is not set on a Rule, Boto generates a prefix for the
string 'None' which is not a good default value. Instead
generate the empty string for the prefix if not given so that
it matches all Objects in the bucket.

Modified the add_rule() API to allow the id to be optional which
also forced making other parameters optional by specifying
defaults. This makes adding simple rules easier though and is
backwards compatible.

Added 2 test cases to test the changes.
Merge pull request #2021 from tpodowd/lifecycle_prefix_and_id

Make the Lifecycle Id optional and fix prefix=None in XML generation. Fixes #2021.