Actions::NewPost converted per Issue #129

The PostsController can now re-render the 'new` template again when
errors are detected. Those errors are added to a new, invalid entity
instance that is used for the re-rendering, which preserves entered
field data and error messages.

RSpec: 765 examples, 0 failures
RuboCop: 177 files inspected, no offenses detected
Timestamp matching fix in TimestampBuilder spec.

Assuming specs are running in any particular local time zone is a
once-again-proven way to make timestamp specs break. Why this didn't
break before…

RSpec: 765 examples, 0 failures
RuboCop: 177 files inspected, no offenses detected
PostsController method OK for both failure modes.

The `Actions::NewPost` action can fail either because no registered
user is logged in *or* because field validation checks fail. This now
correctly handles both.

RSpec: 765 examples, 0 failures
RuboCop: 177 files inspected, no offenses detected
Feature spec for guest unable to see new-post page

Along with minor refactoring of `PostsController#on_new_failure`
responder method.

RSpec: 767 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
PostsController new/create actions updated.

CreatePost action now supports the controller dealing with errors by
redisplaying the "new post" form.

RSpec: 767 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
Damage control: PostEntity now has validations.

Proper ones, not hand-crafted, half-baked and replicated all over.
(Well, we haven't ripped the replication out just yet. That's coming.)

RSpec: 773 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
Damage control cont'd: UserEntity has validations.

Now to rip the ad-hoc stuff out.

RSpec: 781 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
CreatePost action uses entity for errors.

So far, only internally; what gets sent back to the controller (for
success *or* failure) is still a `StoreResult`. Next step is to replace
that with "just" the entity.

See the discussion on Issue #1 at
https://github.com/jdickey/new_poc/issues/1#issuecomment-64926010

RSpec: 781 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
CreatePost failure only broadcasts (bad) entity.

No longer a StoreResult. This simplified
`PostsController#on_create_failure` a bit.

Next up: CreatePost success.

RSpec: 777 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
CreatePost success broadcasts new entity.

StoreResult is gone (from this level of this action). On to the next
action.

RSpec: 772 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
NewPost action no longer uses StoreResult.

Passing an entity back up through the chain just makes things simpler.
Again.

RSpec: 770 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
IndexPosts action no longer uses StoreResult.

RSpec: 767 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
ShowPost action no longer uses StoreResult.

RSpec: 763 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
Fixed a bobbled timestamp comparison.

"But it works on *my* machine!" :-P

RSpec: 763 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
EditPost action no longer uses StoreResult.

RSpec: 757 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
UpdatePost no longer uses StoreResult.

And several bugs fixed along the way…

* Several Actions refactored to use more straightforward `#execute`
method, with a single path for success and an exception-triggered error
return;
* PostsController methods updated to match changes in Actions, usually
resulting in simpler code (with the notable exception of
`#on_create_failure`);
* Specs updated to match the above.

RSpec: 755 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
IndexUsers action no longer uses StoreResult.

And its `#execute` method goes from three lines to one.

RSpec: 754 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
NewUser action no longer uses StoreResult

And cleaner code was enjoyed by the UsersController, yet again.

RSpec: 751 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
CreateUser action no longer uses StoreResult

- `UsersControllerSpec` needs DRYing up (see lines 128-178 in file in
this commit);
- Other typo-level changes.

RSpec: 751 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected
EditUser action no longer uses StoreResult.

Externally, at least; it still uses the existing Repository APIs.

RSpec: 747 examples, 0 failures
RuboCop: 178 files inspected, no offenses detected