Improve `rake upgrade` error messaging when used incorrectly

[#64936304]
When installing templates, clean up old templates but only ones actually belong to Cedar.

- A template is determined to belong to Cedar if it either 1) includes a "isCedarTemplate"->"true" entry, or 2) has an "Identifier" entry beginning with "com.pivotallabs.cedar"

[#64936380, #68661790]
Fix rake install to not fail while installing the Xcode plugin due to missing intermediate directories in the Plug-in path
Don't require compare_equals for returning values on stub_method

- ReturnValue is no longer a ValueArgument subclass, which brought along unwanted behaviors

[#39969975, #65424036]
Translate Objective C type encodings into a best guess at the original typename.

This makes type-related failures during stubbing easier to understand.
Merge pull request #216 from pivotal-brian-croom/friendly-type-names

Cedar should produce intelligible error messages for type mismatches
Merge pull request #222 from pivotal-brian-croom/rakefile-bugfixes

Rakefile bugfixes
Merge pull request #225 from pivotal-brian-croom/fix-rake-installing-plugin

Fix rake install to not fail while installing the Xcode plugin due to mi...
Allow skipping the framework validation step of `rake install` if the requested simulator version is not available

[#69774282]
Fix memory management issues in CDRExampleSpec

I ran into these while running with zombies turned on. It seems the new example instances were always ending up allocated at the same memory address as the one just released, so the earlier autorelease ended up getting applied to the "replacement" example instead of the one it was initially called on
Fix leak in spec
Fix another leak
Fix more leaks
Fix static analyzer issue
contain(an_instance_of(Class))
Support contain(...).as_a_key(), contain(...).as_a_value() for use with dictionaries
Merge branch 'pivotal-brian-croom-contain_an_instance_of'
Copy more headers into the frameworks

Once again master got broken because this was forgotten :(
Improve handling of `nil` values in the equal comparator and when matching method arguments

- Properly match methods invocations which include a `nil` argument [#63351266]
- Fix stringifiers for NSNumber and for generic objects to correctly handle nil values
- Fix the compare_equal matcher for two NSNumber's to not blow up if the expectedValue is nil [#69580148]
- Equal matcher fails explicitly when used with nil
  - In this situation, presumably the value passed in was intended to not be nil, hence it is treated as a failure
  - The be_nil matcher is mentioned in case checking for nil was the actual intention
- be_nil matcher can be used with block values [#42698619]
`rake upgrade` doesn't choke on paths with `~`