[Performance] improve throughput of get of a cached CP

see: http://jsperf.com/slow-get-fast-get
[Performance] improve META lookup 10x throughput on chrome 32/34

This seems to not be a hit either way on safari/firefox/opera

see: https://gist.github.com/stefanpenner/ede92fbd00bf49bc5f09
see: http://jsperf.com/lookup-key-length/2
[Performance] minimize indexOf check in Ember.get

String#indexOf is costly.

Other constraints exist that dictate keys of meta.descs
can never have 'dots' in them.

Interestingly checking for existence in meta.descs
(if available) is much faster then the indexOf check.

see: [JSPERF]
ensure readOnly is always a boolean
[Performance] 2-5x increase throughput for cached CP sets

1. don't attempt to get meta.watching until absolutely needed, a miss here is very costly
nearly 30% of the savings
2. don't use hasOwnProperty if not actually needed
3. function.length is costly, cache it on the function
4. attempt a descriptor lookup to potentially mitigate the indexOf
5. for CP's that are not setters, and their value is already known, short circuit (this might be wrong, but no tests fail, we should add tests if this is wrong)