Add progress and loading attributes; includes docs, demo, and test.

Use case looks something like:

```html
<input value='{{val}}'>
<core-ajax auto url='/search/{{val}}' loading='{{loading}}' progress='{{progress}}' response='{{response}}'>
</core-ajax>

<template if='{{loading && !progress.lengthComputable}}'>
  <img src='/img/spinner.gif'>
</template>
<template if='{{loading && progress.lengthComputable}}'>
  <paper-progress min='0' max='{{progress.total}}' value='{{progress.loaded}}'></paper-progress>
</template>

<template if='{{!loading}}'>
  <my-results results='{{response.results}}'></my-results>
</template>
```
hmmm. I guess I have the same reaction as Eric, this smells like something is wrong somewhere in the system. Exposing a read-only event object should be fine in general, and we don't want to get in the business of defensively copying objects. (Maybe this means a tweak is needed in core-range.)