Nicer $key interface

Working on #81:
* Created wrappers around RiakBinIndexRangeInput for easier $key access
* Created magicStrings in StringExtensions for all your string magic needs

Still need MR tests to prove out that these will work, even when magical unicode is used as a key name.
Issue #81 Work in Progress

* Added convenience methods to CorrugatedIron.StringExtensions to look for `IsUserIntegerKey`, `IsUserBinaryKey`, `IsSystemIntegerKey`, `IsSystemBinaryKey`, and `IsSystemKey`
* Modified `ToIntegerKey` and `ToBinaryKey` to use new detection mechanisms
* removed `magicStrings` List<String> and replaced it two HashSet<String> in `RiakConstants.SystemIndexKeys`: `SystemBinKeys` and `SystemIntKeys`
* Modified `AllKeys` to stop at Unicode 0X10FFFD to avoid sending incorrectly formatted Unicode characters to Riak. For the terrifying side effects, see [Fun with Unicode](http://riak.markmail.org/message/tyypimga2o3xiwih?q=unicode+order:date-backward&page=1#query:unicode%20order%3Adate-backward+page:1+mid:k5y7f7rco554rtor+state:results)
* Added documentation for `AllKeys` and `Keys` explaining the differences
Work in progress

* Added GetRiakObjectIds to parse out results of $key queries.
Interim commit
Merge and code fix for key listing

Merge branch 'feature/CleanerDollarKeyInterface' of github.com:DistributedNonsense/CorrugatedIron into feature/CleanerDollarKeyInterface

Conflicts:
	CorrugatedIron.Tests.Live/RiakIndexTests.cs
Implementation of #81 - better $key interaction

* Added support for $bucket
* Added ListKeysFromIndex to perform correct key listing behavior from
$bucket index
* Documented GetObjects and GetObjectIds in RiakMapReduceResultPhase
* Clarified AllKeys documentation in RiakIndex
* Modified AllKeys to use $bucket instead of range comparison
* Corrected ToBinaryKey ?: operation so $key doesn't become $key_bin
* Added unit tests for new functionality
Merge pull request #87 from DistributedNonsense/feature/CleanerDollarKeyInterface

Clean $bucket and $key interface